您的位置:首頁技術文章
文章詳情頁

mysql 一條語句多種count如何寫

瀏覽:120日期:2022-06-20 15:40:03

問題描述

現在的統計是這樣寫的

select column1 title,count(1) count1FROM table1WHERE column2 is not nullAND column2 > ’2016-06-13’AND column2 < ’2016-06-28’AND column3 is not nullgroup BY titlehaving count1 > 3000

現在要再加一列統計,數據是在這個基礎上再加一個條件過濾,大概就是要下面這樣的效果,要怎么寫?

select column1 title,count(1) count1,count(column3=’abc’) count2FROM table1WHERE column2 is not nullAND column2 > ’2016-06-13’AND column2 < ’2016-06-28’AND column3 is not nullgroup BY titlehaving count1 > 3000

問題解答

回答1:

select column1 title,count(1) count1, sum(IF(column3=’abc’, 1, 0)) count2FROM table1WHERE column2 > ’2016-06-13’AND column2 < ’2016-06-28’AND column3 is not nullgroup BY titlehaving count1 > 3000

試試看條件中的column2 is not null沒用,可以去掉。

回答2:

樓上正解,也可以試試這個,結果是一樣的

select column1 title,count(1) count1,count(column3=’abc’ or null) count2FROM table1WHERE column2 between ’2016-06-14’ and ’2016-06-27’AND column3 is not nullgroup BY titlehaving count(1) > 3000 -- 用別名count1會報錯的,這里不能用別名

相關文章:
国产综合久久一区二区三区