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 for Mac 創建的dnsmasq容器連不上/不工作的問題2. java - 一段遞歸代碼的問題3. java - instance method中 static后的<K>是什么意思?4. 錯誤:java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。<init>(I)V5. java - com.android.internal.R.attr.dialogTheme 這個dialogTheme的內容再哪里查看?6. python3.x - python連oanda的模擬交易api獲取json問題第五問7. javascript - QWebEngineView 如何爬 angular 的動態數據?8. node.js - npm 非管理員權限 全局安裝問題9. html5 - 這個代碼顯示功能如何實現?10. node.js - 終端 遠程連接服務器,終端關閉后,服務器無法運行
