我正在使用MySQL而且我已多次阅读COUNT(*)
通常比COUNT(Column)
更快。
但是,我需要获取不同行的COUNT
。据我所知,我可以通过两种不同的方式做到这一点:
a) SELECT COUNT(DISTINCT Column) ...
或
b) SELECT COUNT(*) ... GROUP BY Column
一般情况下,更快?如果依赖,那么依赖 是什么?
答案 0 :(得分:4)
SELECT COUNT(*) FROM table GROUP BY column
返回按组分组的每个值的行数,而不是组数。
SELECT COUNT(DISTINCT column) FROM table
返回组的数量(尽管您也可以使用GROUP BY
查询中的行数来获取此组。)