distinct 过滤重复行
mysql> SELECT DISTINCT srcuser FROM mail; +---------+ | srcuser | +---------+ | barb | | tricia | | phil | | gene | +---------+ 4 rows in set (0.00 sec)
统计唯一结果的数量,使用count(distinct)
mysql> SELECT COUNT(DISTINCT srcuser) FROM mail; +-------------------------+ | COUNT(DISTINCT srcuser) | +-------------------------+ | 4 | +-------------------------+ 1 row in set (0.00 sec)
DISTINCT关键字也可以使用多列输出
mysql> SELECT DISTINCT YEAR(t),MONTH(t),DAYOFMONTH(t) FROM mail; +---------+----------+---------------+ | YEAR(t) | MONTH(t) | DAYOFMONTH(t) | +---------+----------+---------------+ | 2014 | 5 | 11 | | 2014 | 5 | 12 | | 2014 | 5 | 14 | | 2014 | 5 | 15 | | 2014 | 5 | 16 | | 2014 | 5 | 19 | +---------+----------+---------------+ 6 rows in set (0.00 sec)