首页 > 数据库技术 > 详细

Mysql 的 GROUP_CONCAT() 函数拼接串

时间:2015-08-20 13:29:25      阅读:278      评论:0      收藏:0      [点我收藏+]
SELECT GROUP_CONCAT( ut.id_card ORDER BY ut.id_card DESC SEPARATOR ‘,‘ )   FROM `edu_user_train` ut where ut.id in(614,615);

输出结果:
500231199108181861,371324198450304515
使用场景:返回的是纯数字 配合in 查询
例:
SELECT u.name FROM `edu_user` u WHERE u.id_card IN (500231199108181861,371324198450304515);
SELECT GROUP_CONCAT(‘"‘,ut.id_card,‘"‘) FROM `edu_user_train` ut where ut.id in(614,615);

输出结果:

"500231199108133881","371325198706304515"

使用场景:返回的是字符串(因为身份证中存在有"X"的情况) 配合in 查询
例:
SELECT u.name FROM `edu_user` u WHERE u.id_card IN ("500231199108133881","371325198706304515");
SELECT CONCAT(‘"‘,ut.id_card,‘"‘) FROM `edu_user_train` ut where ut.id in(614,615);

输出结果:

"500231199133133881"
"371325198706454515"

这种情况相对来说就用的比较少了。

这部分以上面的区别在于加了GROUP 后 , 再得到一个结果后会进行换行。

SELECT GROUP_CONCAT( u. NAME ORDER BY u. NAME DESC SEPARATOR "," ) AS userName FROM `edu_user` u WHERE u.id_card IN ( SELECT ut.id_card  FROM `edu_user_train` ut where ut.id in(614,615,939));

多个数据, 进行子查询。

欢迎补充指正,这是本人在实践中所得的记录,详细用法及专业解释请看Mysql 的API。

Mysql 的 GROUP_CONCAT() 函数拼接串

原文:http://my.oschina.net/u/2358326/blog/494925

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!