如何用SQL语句把同一列的数据按某个group by语句组合成一行数据

这篇博客介绍了如何使用SQL语句,特别是stuff函数,来处理同一列的数据,根据group by语句将其组合成一行。通过一个用户表的例子,展示了如何将爱好字段合并,得到如‘篮球,电影’这样的结果。文中提到了多种解决方案,提供了SQL查询的学习和思考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    刚才从论坛上面看到一个帖子,我之前也碰到过这一类问题,所以记下来,算学习到新的东西。从回答者给出的不同的代码,也从另一个侧面看到了这个问题的多种思维解决方案。还是有不少东西可以学得到的。

    学习到的内容:stuff函数的应用

问题: 

  有一个用户表(姓名,编号,爱好)
  user(name,id,hobby),
里面的数据有:
  张三 001 篮球
  张三 001 电影
  李四 002 足球
  王五 003 上网
  李四 002 看美女
现在要求写一SQL语句,使查出结果为:
  张三 001 篮球,电影
  李四 002 足球,看美女
  王五 003 上网

 

解决方案:

方案一:

SQL code
    
    
IF OBJECT_ID ( ' USER ' ) IS NOT NULL DROP TABLE [ USER ] GO CREATE TABLE [ USER ] ( NAME VARCHAR ( 10 ) ,ID VARCHAR ( 5 ) ,HOBBY VARCHAR ( 10 ) ) INSERT INTO [ USER ] SELECT ' 张三 ' , ' 001 ' , ' 篮球 ' UNION ALL SELECT '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值