Group by 与With结合运用产生特殊效果

原始数据如下图:

Date  Status 
2012-01-01win
2012-01-01win
2012-01-01win
2012-01-01lose
2012-01-01lose
2012-01-02win
2012-01-02win
2012-01-02lose











 

查询显示如下:

Date       win      lose
2012-01-01       3       2
2012-01-02       2      1




 

View Code
 1     WITH tbDate AS
2 (
3 SELECT DATE FROM tbUsers GROUP BY Date
4 ),
5 tbWin AS
6 (
7 SELECT Date,COUNT(Statu) AS win FROM tbUsers where Statu ='win' GROUP BY Date
8 ),
9 tbLose AS
10 (
11 SELECT Date,COUNT(Statu) AS lose FROM tbUsers WHERE Statu ='lose' GROUP BY Date
12 )
13 SELECT d.DATE,t.win ,L.lose FROM tbWin t ,tbLose l, tbDate d WHERE d.Date = t.date AND L.date = d.date

 另一种:

View Code
1     With t as
2 (
3 SELECT Date,COUNT(Statu) as win FROM tbUsers where Statu = 'win' GROUP BY DATE
4 ),
5 d as(
6 SELECT Date,COUNT(Statu) as lose FROM tbUsers where Statu = 'lose' GROUP BY DATE
7 )
8 select t.Date,t.win ,d.lose from t ,d where t.Date = d.Date

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值