[英]MySQL - two counts with different WHERE in one query
表
field1 field2
a 1
b
c 3
e 4
f
我需要在查詢時計算field1而not empty field2
:
SELECT COUNT(field1) FROM table
+
SELECT COUNT(field2) FROM table WHERE field2 != ''
in one query
結果應為5和3。
可能嗎?
易如反掌 :)
select count(field1), count(field2)
from my_table
結果:
+--------+--------+
| field1 | field2 |
+--------+--------+
| 5 | 3 |
+--------+--------+
如果field2
列中的空值為''
(空字符串)而不是實際的NULL
,則可以嘗試:
select count(field1), sum(case when field2 != '' then 1 else 0 end)
from my_table;
SELECT
(SELECT COUNT(field1) FROM table) AS count1,
(SELECT COUNT(field2) FROM table WHERE field2 != '') AS count2
另一種方式:
SELECT COUNT(field1), COUNT(IF(field2='', NULL, field2))
FROM ...
要將查詢結果與相同的列格式組合,請在它們之間使用UNION
SELECT w FROM x
UNION
SELECT y FROM z
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.