sqlsrv多条件排序分组查询

应用场景:按照时间perday,统计每一天不同类型send对应的userid总数,数据如下:

显示为下面

一般思路:对perday进行group by 排序,但是时间会重复,多一条数据,无法将同一天的进行合并

 

with 
cr as 
( SELECT perday,case send when '30000' then count(userid) end as num1,case send when '50000' then count(userid) end as num2 from 表名 where send in (30000,50000) group by perday,send
)select perday,max(num1) as num1,max(num2) as num2 from cr group by perday order by perday(此处max尤为关键)

WITH AS 短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高,也可以在UNION ALL的不同部分,作为提供数据的部分。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值