1. 程式人生 > >mysql 不同條件count ,多條件count()

mysql 不同條件count ,多條件count()

mysql total time lse case from pre div clas

create table abc(A int,B int)

Select A,count(B) as total from ABC group by A
Select A,count(B) as total1 from ABC where B > 30 group by A
Select A,count(B) as totlal2 from ABC where B > 20 group by A

如何合並這三個查詢?
得到一個查詢結果:
A,total,total1,total2

答:

Select A,
count(B) as total,
sum(case when B > 30 then 1 else 0 end) as total1,
sum(case when B > 20 then 1 else 0 end) as total2 
from ABC group by A

自己的例子

select count(1) from origin_crx_data where create_time like ‘2019-02-23%‘ and source=‘12345‘

select count(1) from origin_crx_data where active_time like ‘2019-02-23%‘ and source=‘12345‘

合並為一條sql

SELECT
sum(case when create_time like ‘2019-02-23%‘ then 1 else 0 end) as inst_count,
sum(case when active_time like ‘2019-02-23%‘ then 1 else 0 end) as active_count
FROM origin_crx_data where source=‘12345‘

mysql 不同條件count ,多條件count()