mysql 一條語句多種count如何寫
問題描述
現在的統計是這樣寫的
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會報錯的,這里不能用別名
相關文章:
1. docker不顯示端口映射呢?2. MySQL數據庫中文亂碼的原因3. android studio總是在processes running好久4. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?5. macos - mac下docker如何設置代理6. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””7. mysql - 新浪微博中的關注功能是如何設計表結構的?8. docker-compose 為何找不到配置文件?9. css - C#與java開發Windows程序哪個好?10. docker gitlab 如何git clone?
