我有一个表,我想获取每列中记录的行数。其中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