Mysql选择count distinct并选择distinct

时间:2014-02-02 09:07:32

标签: php mysql

例如,在下面的图片中,我有一个名为students的简单表。有些学生的GPA = NULL。 我有一个查询来计算DISTINCT GPA值:

SELECT count( DISTINCT GPA ) FROM `students` 

enter image description here

结果,正如所料,2。

但是,我想,我可以使用PHP,只需写:

SELECT DISTINCT GPA FROM `students` 

但为什么结果是3行(不是预期的2行)?

1 个答案:

答案 0 :(得分:2)

Count函数定义为忽略NULL值。 选择DISTINCT行时,会考虑NULL。这就是为什么你得到3行。这是设计的。 请参阅COUNT的文档:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_count