有这样一个表
name age
'name1' 20
'name2' 21
'name3' 20
'name4' 21
现在相得到这样的结果
'name1,name3' 20
'name2,name4' 21
就是对年龄分组,得到用逗号分隔的名字串.
请问这个sql语句怎么写?一条sql能实现吗?请高手指点!
name age
'name1' 20
'name2' 21
'name3' 20
'name4' 21
现在相得到这样的结果
'name1,name3' 20
'name2,name4' 21
就是对年龄分组,得到用逗号分隔的名字串.
请问这个sql语句怎么写?一条sql能实现吗?请高手指点!
解决方案 »
- 求一SQL查询语句(最好是mysql)
- Oracle 格式化时间问题(又跑到sql版来麻烦 小F 姐 老乌龟 爱心 等人了)
- 问一个sql中删除把所有相同行合并为一行的问题,陈良育大哥你看到这个贴的话,就给我回答了吧!!!
- 求助:SQL SERVER 2008 R2 查询LINKED SERVER 报错
- 我想给数据库增加一个login用户如何办?
- 2表联合查询,在线等哦
- 新手问,高手来抢分.
- 谁能帮我介绍一下SQL server的各个数据类型?
- ssis的foreach loop container 在一个文件夹中如何找到几个指定的文件。
- 看看我的问题吧,各位,关于数据库更新的问题?
- 高手请进
- sql 疑难问题
insert into @tb select 'name1',20
insert into @tb select 'name2',21
insert into @tb select 'name3',20
insert into @tb select 'name4',21SELECT age,
name=CAST(MIN(name) as varchar(10))
+ ','+CAST(MAX(name) as varchar(10))
FROM @tb
GROUP BY ageage name
20 name1,name3
21 name2,name4
insert into @tb select 'name1',20
insert into @tb select 'name2',21
insert into @tb select 'name3',20
insert into @tb select 'name4',21SELECT age,
name=MIN(name)+ ','+MAX(name)
FROM @tb
GROUP BY age
declare @s table(name varchar(20),age int)
insert into @s select 'name1',20
union all
select 'name2',21
union all
select 'name3',20
union all
select 'name4',21SELECT names,age
FROM(
SELECT DISTINCT
age
FROM @s
)A
OUTER APPLY(
SELECT
[names]= STUFF(REPLACE(REPLACE(
(
SELECT name FROM @s N
WHERE age = A.age
FOR XML AUTO
), '<N name="', ','), '"/>', ''), 1, 1, '')
)N
组合不是出错了嘛`呵呵``