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. node.js - 如何用nodejs寫一個接口,隨便寫一個就好2. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?3. node.js - node_moduls太多了4. 這段代碼既不提示錯誤也看不到結果,請老師明示錯在哪里,謝謝!5. html - jQuery 移動端橫向滾動會帶動網頁上下滑動怎么辦?6. myeclipse中有AB兩個項目,A項目的java文件用GBK編碼,B項目用utf-8編碼,怎么辦?7. node.js - webpack-dev-server正常運行,webpack打包卻出錯,怎么辦?8. node.js - nodejs debug問題9. javascript - iscroll實例化未知個數的內容塊時怎么辦?10. objective-c - iOS 開發中 WKWebView 的使用問題攔截跳轉
