select Dates as 日期,count(Dates) as 下单个数 from Taborders where datediff(day,Dates<=1000 group by Dates order by Dates desc
这个是计算下面dates的总数的,,怎样在一个sql语句中根据ispay的值分两类,当ispay=0时 计算count(dates),当ispay=1时计算count(dates)
最后成为三个字段:日期,ispay=0时的总数,ispay=1时的总数
---------------------------------
id |dates|ispay
1 |7-15 |0
2 |7-25 |1
3 |7-30 |1
4 |7-31 |0
这个是计算下面dates的总数的,,怎样在一个sql语句中根据ispay的值分两类,当ispay=0时 计算count(dates),当ispay=1时计算count(dates)
最后成为三个字段:日期,ispay=0时的总数,ispay=1时的总数
---------------------------------
id |dates|ispay
1 |7-15 |0
2 |7-25 |1
3 |7-30 |1
4 |7-31 |0
能写一下sql语句吗
case when ispay=1 then count(Dates) else 0 end as 下单个数1
from Taborders where ...
sum(case when ispay=1 then count(Dates) else 0 end) as 下单个数1
from Taborders where ...这个应该可以的
sum(case when ispay=1 then 1 else 0) end as 下单个数1
from Taborders where ...这个呢?
(select Dates,Count(dates) as sum1 from Taborders where datediff(day,Dates)<=1000 and ispay=0 group by Dates) a ,
(select Dates,Count(dates) as sum2 from Taborders where datediff(day,Dates)<=1000 and ispay=1 group by Dates) b
数据表名为:C1数据以下:
dates ispay
7-15 0
7-25 1
7-30 1
7-31 0
7-15 1
7-15 1select dates,sum(零总量) as 零总量 ,sum(壹总量) as 壹总量 from
( Select dates ,count(1) as 零总量,0 as 壹总量 from c1 where ispay=0 group by dates
UNION ALL
Select dates ,0 as 零总量,count(1) as 壹总量 from c1 where ispay=1 group by dates) m
group by dates{结果:
dates 零总量 壹总量
---------------------
7-15 1 2
7-25 0 1
7-30 0 1
7-31 1 0
}