web获取多行mysql结果_mysql中的多行查询结果合并成一个
SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND md.user_id=17:
利用函數:group_concat(),實現一個ID對應多個名稱時,原本為多行數據,把名稱合并成一行,如 |1 | 10,20,20|
DROP TABLE IF EXISTS `aa`;
CREATE TABLE `aa` (
`id` int(11) DEFAULT NULL,
`name` char(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
本文通過實例介紹了MySQL中的group_concat函數的使用方法,比如
select group_concat(name) 。
MySQL中group_concat函數 完整的語法如下:
group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查詢
mysql> select * from aa;
id
name
1
10
1
10
1
20
1
20
2
20
3
500
6 rows in set (0.00 sec) 以id分組,把name字段的值打印在一行,逗號分隔(默認)
mysql> select id,group_concat(name) from aa group by id;
id
group_concat(name)
1
10,20,20
2
20
3
200,500
3 rows in set (0.00 sec) 以id分組,把name字段的值打印在一行,分號分隔
mysql> select id,group_concat(name separator ';') from aa group by id;
id
group_concat(name separator ';')
1
10;20;20
2
20
3
200;500
3 rows in set (0.00 sec) 以id分組,把去冗余的name字段的值打印在一行, 逗號分隔
mysql> select id,group_concat(distinct name) from aa group by id;
id
group_concat(distinct name)
1
10,20
2
20
3
200,500
3 rows in set (0.00 sec) 以id分組,把name字段的值打印在一行,逗號分隔,以name排倒序
mysql> select id,group_concat(name order by name desc) from aa group by id;
id
group_concat(name order by name desc)
1
20,20,10
2
20
3
500,200
3 rows in set (0.00 sec)
總結
以上是生活随笔為你收集整理的web获取多行mysql结果_mysql中的多行查询结果合并成一个的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: directxset.exe是什么进程
- 下一篇: linux arch 包管理,Archl