日期:2014-05-17  浏览次数:20529 次

关于group by
有没有什么方法把
select * from a
group by 列1,列2...............(所有列)

简化成类似

select * from a
group by *
意思就是,用什么命令,可以代替那一堆列名,谢谢

------解决方案--------------------
引用:
有没有什么方法把
select * from a
group by 列1,列2...............(所有列)

简化成类似

select * from a
group by *
意思就是,用什么命令,可以代替那一堆列名,谢谢

select * from a group by * 那你直接用select distinct * from a就可以达到你的目的拉。
要不你可以用动态拼接。
------解决方案--------------------
列太多不想写

SELECT STUFF((SELECT ','+name FROM sys.columns WHERE object_id=object_id('表名') FOR XML PATH('')),1,1,'')

用语句生成
------解决方案--------------------
这个语句是让你直接查询的,查询出来的列名是用逗号分隔的
把查询结果复制粘贴到group by那里
如果想把这个语句拼接到group by的话需要动态拼接sql
你可以把之前提问的连接贴过来问下他们有没有更好的解决方案
ps:你不引用的话他们是看不到你回复的话的