如何在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