CREATE TABLE `order_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`money` double NOT NULL,
`user_id` varchar(20) DEFAULT NULL,
`address` varchar(200) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
需求:user_id为一行,每行显示该user_id所有分数
SELECT user_id,GROUP_CONCAT(money) FROM order_info GROUP BY user_id;
可以看到根据user_id分为三行,并且money默认用逗号分割,可是每个user_id有重复的数据,接下来去重:
SELECT user_id,GROUP_CONCAT(DISTINCT money) FROM order_info GROUP BY user_id;
排序:
SELECT user_id,GROUP_CONCAT(DISTINCT money ORDER BY money DESC) FROM order_info GROUP BY user_id;
设置分隔符:
SELECT user_id,GROUP_CONCAT(DISTINCT money ORDER BY money DESC SEPARATOR ';') FROM order_info GROUP BY user_id;
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43296313/article/details/121675672
内容来源于网络,如有侵权,请联系作者删除!