如何在MySQL中获得不同的计数(*)。
例如,在table1中我有1000万条记录,其中有重复的记录。我想从表中找出不同的计数(*)。
我知道,我可以做到
从table1中选择distinct * 但是,我不想获取1000万条记录,甚至不想在其他表中插入不同的记录,如 create table table2 select table * from table1
所以,请帮助我任何其他选择。
欢迎任何人的帮助
答案 0 :(得分:11)
SELECT COUNT(DISTINCT field) FROM table
或
SELECT COUNT(*) FROM table GROUP BY field;
(顺便说一句 - 本网站的其他地方已经回复了很多次)
答案 1 :(得分:4)
尝试使用子查询:
SELECT COUNT(*) FROM (SELECT DISTINCT * FROM table1) T1
答案 2 :(得分:0)
也许喜欢:
SELECT SUM(cnt) FROM ( SELECT COUNT(*) as cnt FROM tab GROUP BY some_value )