当我们在一个具有多个NULL值的列上使用DISTINCT子句时,MySQL将把所有的NULL值视为相同。
这意味着根据DISTINCT子句的属性,MySQL将在结果集中只返回一个NULL值,并消除其他的NULL值。考虑一个名为“testing”的表的例子,其中在列“Lname”中有多个NULL值。
mysql> Select * from testing; +------+---------+---------+ | id | fname | Lname | +------+---------+---------+ | 200 | Raman | Kumar | | 201 | Sahil | Bhalla | | 202 | Gaurav | NULL | | 203 | Aarav | NULL | | 204 | Harshit | Khurana | | 205 | Rahul | NULL | | 206 | Piyush | Kohli | | 207 | Lovkesh | NULL | +-----+---------+----------+ 8 rows in set (0.00 sec) mysql> SELECT DISTINCT Lname from testing; +---------+ | Lname | +---------+ | Kumar | | Bhalla | | NULL | | Khurana | | Kohli | +---------+ 5 rows in set (0.00 sec)