我有一张这样的表:
id | module_id | answered
1 4 3
2 4 1
3 4 NULL
4 5 NULL
5 5 1
我需要计算每个module_id的行数和回答的行数不是NULL。
所以我需要结果
module_id | row_count | answered
4 3 2
5 2 1
到目前为止我已经
了SELECT module_id, COUNT(*) as row_count FROM table GROUP BY module_id
但我不知道如何回答专栏。有什么想法吗?
答案 0 :(得分:4)
COUNT(answered)
将计算该特定列中的非空值。
这就是COUNT(*)比COUNT(某些列)快得多的原因。
答案 1 :(得分:0)
如果使用COUNT(列),它将只计算非空值行。
计数功能有三种变体:
您对COUNT(*)或COUNT(列)的使用应仅基于所需的输出。