如何在MySQL中获得不同的计数(*)。distinct count(*)
例如,在table1中我有1000万条记录,里面有重复的记录。
我想从表中找出不同的计数(*)。
我知道,我能做的
从表1 选择不同的*但是,我并不要获取10万条记录,甚至不希望在其他表中插入不同的记录,如, 创建表table2 select * from table1
所以,请帮助我的任何其他选项。任何人的欢迎
帮助
如何在MySQL中获得不同的计数(*)。distinct count(*)
例如,在table1中我有1000万条记录,里面有重复的记录。
我想从表中找出不同的计数(*)。
我知道,我能做的
从表1 选择不同的*但是,我并不要获取10万条记录,甚至不希望在其他表中插入不同的记录,如, 创建表table2 select * from table1
所以,请帮助我的任何其他选项。任何人的欢迎
帮助
尝试使用子查询:
SELECT COUNT(*) FROM (SELECT DISTINCT * FROM table1) T1
SELECT COUNT(DISTINCT field) FROM table
或
SELECT COUNT(*) FROM table GROUP BY field;
(顺便说一句 - 这已经回答了好几次其他地方在这个网站)
也许就像:
SELECT SUM(cnt) FROM (SELECT COUNT(*) as cnt FROM tab GROUP BY some_value)
我有一千万条记录在表中,因此使用子查询将放缓结果 – Krunal 2011-02-03 14:20:30