SQL GROUP_CONCAT的一个例子

我有一个这样的数据库 user_info




现在有一个需求是把这样 9 条记录按照 username 来 group 成3条记录

目标:

Shu female 20 1

Lee male     20 2

Yuki female 18 1

如果用

SELECT * 
FROM `user_info` 
GROUP BY username

得到的结果为:


可见content是丢了很多信息的

GROUP_CONCAT的作用就出现了

SELECT username, GROUP_CONCAT(content)
FROM `user_info` 
GROUP BY username

得到


现在我想把所有 female 的user的content全部取出来,做法是这样的:

SELECT username, GROUP_CONCAT(content)
FROM `user_info`
WHERE username IN (
   SELECT DISTINCT username 
   FROM `user_info`
   WHERE content = 'female'
)
GROUP BY username
得到:



最后在导出数据的时候,如果希望GROUP_CONCAT分开,只需要用excel -> 数据 -> 分列 -> 按分隔符(,) 就可以了






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值