4

我正在使用 MySQL,并且我已经阅读了几次COUNT(*)通常比COUNT(Column).

但是,我需要获得COUNT不同行。据我了解,我可以通过两种不同的方式做到这一点:

a) SELECT COUNT(DISTINCT Column) ...

或者

b) SELECT COUNT(*) ... GROUP BY Column

一般来说,哪个更快?如果它取决于,那么它取决于什么

4

1 回答 1

5

SELECT COUNT(*) FROM table GROUP BY column返回按列分组的每个值的行数,而不是组数。

SELECT COUNT(DISTINCT column) FROM table返回组的数量(尽管您也可以使用GROUP BY查询中的行数来获得它)。

于 2013-01-09T21:17:51.640 回答