mysql:GROUP_CONCAT的使用

x33g5p2x  于2021-12-02 转载在 Mysql  
字(0.7k)|赞(0)|评价(0)|浏览(370)

mysql:GROUP_CONCAT的使用

一、创建表和生成测试数据

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;

二、GROUP_CONCAT的使用

需求: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;

相关文章

最新文章

更多