使用order by时group by的问题

Mahajan344

当我尝试分组但使用按语句排序时,我遇到了困难。

这是我的查询

create table AllData(NoOfPerson int,NoOfMinutes int,StartTime Datetime);

INSERT INTO AllData VALUES(1,2,GETDATE()),
(0,3,GETDATE()+1),
(3,4,GETDATE()+2),
(2,5,GETDATE()+3),
(0,6,GETDATE()+4),
(3,7,GETDATE()+5),
(2,8,GETDATE()+6);

并从查询中输出

select NoOfperson,SUM(NoOfMinutes)NoOfMinutes,MIN(StartTime)StartTime from AllData
group by NoOfperson,StartTime
order by StartTime

NoOfperson  NoOfMinutes StartTime
1               2   2014-02-19 15:44:52.617
0               3   2014-02-20 15:44:52.617
3               4   2014-02-21 15:44:52.617
2               5   2014-02-22 15:44:52.617
0               6   2014-02-23 15:44:52.617
3               7   2014-02-24 15:44:52.617
2               8   2014-02-25 15:44:52.617

但是我希望输出应该像

第一的

1  -- 2
0  -- 9
3  -- 11
2  -- 13

我如何获得此输出?

齐奥利克

尝试换行查询:

SELECT * 
FROM   (SELECT noofperson, 
               Sum(noofminutes) NoOfMinutes, 
               Min(starttime)   StartTime 
        FROM   alldata 
        GROUP  BY noofperson) t 
ORDER  BY noofminutes ASC; 

或简单地:

SELECT noofperson, 
       Sum(noofminutes) NoOfMinutes, 
       Min(starttime)   StartTime 
FROM   alldata 
GROUP  BY noofperson 
ORDER  BY noofminutes ASC; 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章