sql 中的group by

select userid,sum(winscore+lostscore) as resultscore, winscorefrom dbo.StreamScoreInfo where FirstCollectDate between '2013-4-07 00:00:13' and '2013-4-07 23:55:32 'group by userid,winscoreorder by resultscore desc

在sql中如果使用到sum,那么group by中必须包含select中其它的所有项

select m.* from (SELECT top 1000 ROW_NUMBER() over (order by winscore desc) as NewNo, a.userid ,b.accounts ,a.winscore as winscore,a.FirstCollectDate as startdate,a.LastCollectDate as enddate  FROM [XJPTreasureDB].[dbo].[StreamScoreInfo] a , [XJPAccountsDB].[dbo].[AccountsInfo] b  where a.userid=b.userid and a.FirstCollectDate>='" + Start_time + "' AND a.LastCollectDate<='" + End_time + "' order by a.winscore desc) m where NewNo>" + (CPage - 1) * PageSize + " and NewNo<="+ CPage * PageSize ;

如果用到ROW_NUMBER() 而后又作为条件,需要把它放入到一个()中然后select再使用

类似的例子:http://stackoverflow.com/questions/9617616/how-to-combine-group-by-and-row-number


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值