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. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?2. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?3. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變4. python - 如何判斷爬蟲已經成功登陸?5. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?6. javascript - 這不是對象字面量函數嗎?為什么要new初始化?7. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。8. javascript - 有什么比較好的網頁版shell前端組件?9. javascript - [js]為什么畫布里不出現圖片呢?在線等10. html - vue項目中用到了elementUI問題
