mysql和sqlserver共存_mysql 和sqlserver的 多行合并成一行
mysql 和sqlserver的 多行合并成一行
mysql ?多行合并:
mysql 內(nèi)置函數(shù) group_concat(exper ?SEPARATOR " " )
exper:列明
SEPARATOR " ": 行分隔符 ,這里表示的是使用空格分隔多行
mysql> select * from tmp_02 ;
+------------+---------+
| Fclient ? ?| ct ? ? ?|
+------------+---------+
| 安卓 ? ? ? | 1858799 |
| IOS ? ? ? ?| ?522568 |
| 傳奇客戶端 | ?472561 |
+------------+---------+
3 rows in set (0.00 sec)
多行合并 :
mysql> select convert(GROUP_CONCAT(concat(Fclient,':',ct) SEPARATOR " ? ") using utf8) ?tkey from tmp_02;
+-----------------------------------------------+
| tkey ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+-----------------------------------------------+
| 安卓:1858799 ? IOS:522568 ? 傳奇客戶端:472561 |
+-----------------------------------------------+
1 row in set (0.00 sec)
note:行分隔符可以是任意的字符 。
在sqlserver中 ,2000以前的版本(包括2000)需要手動寫函數(shù)實現(xiàn)多行合并一行的功能。
自2005之后(包括2005)內(nèi)置了for xml path 的功能可以很輕松的實現(xiàn)多行合并一行的功能
例子:
select EventClass from ?dbo.perfom
select( select CAST(EventClass as varchar)+';'
from ?dbo.perfom for xml path('') ?) as A
結果:
for xml ?path的參考鏈接:
總結
以上是生活随笔為你收集整理的mysql和sqlserver共存_mysql 和sqlserver的 多行合并成一行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红黄蓝是谁画的啊?
- 下一篇: 是我想太多是哪首歌啊?