mysql之sql语句细节问题汇总

一、mysql count distinct null 使用注意事项

1  用一个例子来讲解一个问题,现在又一个库表hello,表内容如下:

id     name

1      Null

2      Null

3      Null

4      Null

5      Null

hello表一共两个字段:id和name,name is null。

第一条SQL:SELECT COUNT(id) FROM hello;   查询结果:5,正确。

第二条SQL:SELECT COUNT(*) FROM hello;     查询结果:5,正确。

第三条SQL:SELECT COUNT(name) FROM hello; 查询结果:0,错误。

第四条SQL:SELECT COUNT(DISTINCT id,name) FROM hello;查询结果:0,错误。

2 第二条SQL和第三条SQL查询错误的原因:

2.1   COUNT(), MIN(), and          SUM() ignore          NULL values.

2.2  The exception to this is    COUNT(*), which counts rows and          not individual column values.

2.3  For example, the following   statement produces two counts. The first is a count of the  number of rows in the table, and the second is a count of the  number of non-NULL values in the   age column:       

mysql> SELECT COUNT(*), COUNT(age) FROM person;
原文地址:https://www.cnblogs.com/andydao/p/3527566.html