sum(if(表示式,表示式為true的數量,表示式false的數量))
實際使用
場景:一張表test,擁有租戶欄位a,年齡欄位b,擁有紙巾數量c
現在需要統計租戶下的所有水杯數量和年齡大於30歲的資料。
正常可以使用子查詢實現:
select
t2.a,
sum(t2.c),
( select
sum(1)
from
test t1
where
t1.a = t2.a
and t1.b >= 30
) bfrom
test t2
group by
t2.a
使用sum if判斷就可以不寫子查詢了
select
a, sum(if(b >= 30, 1, 0)) as b,
sum(c)
from
test
group by
a
Mysql中使用count加條件統計
mysql中count 函式的一般用法是統計欄位非空的記錄數,所以可以利用這個特點來進行條件統計,注意這裡如果欄位是null就不會統計,但是false是會被統計到的,記住這一點,我們接下來看看幾種常見的條件統計寫法。測試環境 windows 10 welcome to the mysql monit...
MySQL中count 的條件統計方式
前幾天做筆試題時遇到乙個問題,如下 乙個info表內容如下 date result 2019 10 12 high 2019 10 12 low2019 10 12 high 2019 10 16 low2019 10 16 low2019 10 16 high 請寫出相應的sql語句,以得出以下的...
mysql中BIT COUNT的統計使用
mysql 中bit count 的統計使用 根據天計算訪問量 下面的例子顯示了如何使用位組函式來計算每個月中使用者訪問網頁的天數。create table t1 year year 4 month int 2 unsigned zerofill,day int 2 unsigned zerofil...