首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

,关于分组的一个很基础的有关问题

2012-08-08 
求助,关于分组的一个很基础的问题我现在有一个表,字段是从A到Z 24个字段,A是主键,从1自增长,现在我要得到N

求助,关于分组的一个很基础的问题
我现在有一个表,字段是从A到Z 24个字段,A是主键,从1自增长,现在我要得到N字段分组后的所有字段数据,我想到的查询语句是在每个字段都加上聚合函数 大致是这样的:

SQL code
SELECT MIN(A),MIN(B),SUM(C)...MIN(Z) FROM 表 group by N

我觉得这样写有问题
1.我只能得到一组后最大或最小的数据,该怎么得到一组中间的数据。
2.每个字段都要加聚合函数好像不是很高,有没有优化方法?

[解决办法]
楼主,先假设就有A B N三个字段,按N分组,你需要得到怎样的结果集?加点测试数据说明下。
[解决办法]
SQL code
select N,stuff((select ','+ltrim(A) from tb where N = t.N for xml path('')),1,1,'') as A,         stuff((select ','+ltrim(A) from tb where N = t.N for xml path('')),1,1,'') as Bfrom tb tgroup by N
[解决办法]
SQL code
SELECT A,...,Z FROM (select ROW_NUMBER()OVER(PARTITION BY N ORDER BY GETDATE()),A,B,C,...,Z FROM 表) A 

热点排行