在mysql中的单个查询中获取行数

时间:2011-10-05 14:21:27

标签: mysql sql

我有一张表,我想在每列中获取行记录数。其中column1不为null column2不为null column3为notnull且uID ='2'

如果记录是

uid   C1    C2    C3
2    Null   3     3
2    2      2     Null

此处的计数为C1=1, c2=2,c3=1如何在一个查询中执行此操作

4 个答案:

答案 0 :(得分:2)

COUNT(colname)应忽略聚合中的NULL值,因此查询实际上应该很简单。请注意,COUNT(*)行为不同,并且不会忽略NULL行。

SELECT COUNT(C1), COUNT(C2), COUNT(C3) FROM table WHERE uid=2

有关NULL汇总行为is found here in the docs.

的更多信息

答案 1 :(得分:0)

SELECT COUNT(C1), COUNT(C2), COUNT(C3)
    FROM YourTable
    WHERE uID = 2
    GROUP BY uID

答案 2 :(得分:0)

SELECT COUNT(C1), COUNT(C2), COUNT(C3)
FROM Mytable 
WHERE uid=2

默认情况下,它不会计算NULL值。

答案 3 :(得分:0)

从表中选择计数(C1),计数(C2),计数(C3)