Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql-计数NULL总是返回0?_Mysql - Fatal编程技术网

Mysql-计数NULL总是返回0?

Mysql-计数NULL总是返回0?,mysql,Mysql,我试图得到这个结果: NULL 350 google 98 yahoo 5 bing 4 使用此查询: SELECT engine, COUNT(engine) AS count FROM visits GROUP BY engine ORDER BY count DESC 但它的回报是: google 98 yahoo 5 bing 4 NULL 0 如何解决此问题?使用计数(1)代替: SELECT engine, COUNT(1) AS count

我试图得到这个结果:

NULL    350
google  98
yahoo   5
bing    4
使用此查询:

SELECT engine, COUNT(engine) AS count
FROM visits
GROUP BY engine
ORDER BY count DESC
但它的回报是:

google  98
yahoo   5
bing    4
NULL    0
如何解决此问题?

使用
计数(1)
代替:

SELECT engine, COUNT(1) AS count
FROM visits
GROUP BY engine
ORDER BY count DESC;

哇,这是一个快速正确的答案!非常感谢=)顺便问一句,为什么它能工作?@Sultanen count(colname)统计colname中包含非null(!)-值的每一行。count(1)可以考虑在查询结果的每一行中添加一个值为1的附加列。感谢您的解释,非常值得了解=)
count(*)
count(1)
count(aNotNullableColumn)
将起作用。