我有一個表,我想獲取每列中記錄的行數。其中COLUMN1不爲空列2不爲空欄3是NOTNULL和uid =「2」在mysql中的單個查詢中獲取行計數
如果記錄就像
uid C1 C2 C3
2 Null 3 3
2 2 2 Null
這裏的計數爲C1=1, c2=2,c3=1
我怎樣才能在一個查詢
我有一個表,我想獲取每列中記錄的行數。其中COLUMN1不爲空列2不爲空欄3是NOTNULL和uid =「2」在mysql中的單個查詢中獲取行計數
如果記錄就像
uid C1 C2 C3
2 Null 3 3
2 2 2 Null
這裏的計數爲C1=1, c2=2,c3=1
我怎樣才能在一個查詢
COUNT(colname)
應該忽略聚合中的NULL
值,所以查詢應該很簡單。請注意,COUNT(*)
行爲不同,並且不會忽略NULL
行。在NULL
聚集行爲is found here in the docs.
SELECT COUNT(C1), COUNT(C2), COUNT(C3)
FROM YourTable
WHERE uID = 2
GROUP BY uID
SELECT COUNT(C1), COUNT(C2), COUNT(C3)
FROM Mytable
WHERE uid=2
默認情況下
SELECT COUNT(C1), COUNT(C2), COUNT(C3) FROM table WHERE uid=2
更多的信息,將不計算NULL值。
SELECT COUNT(C1),計數(C2),計數(C3)
「集合(摘要)功能,諸如COUNT(),MIN()和SUM()忽略NULL值。」 http://dev.mysql.com/doc/refman/5.0/en/problems-with-null.html;) – MatTheCat