2012-12-29 56 views
-3

對於表中的所有列,編譯唯一值列表的最有效的SQLish方式是什麼?每個唯一值的記錄計數是多少?對所有表列中的唯一值進行計數

如何區分具有重複值(例如國家或州代碼)的列與包含名稱和地址的列 - 在這種情況下,會有太多變化?

+0

對於SQL問題,您應該始終提及您正在使用的DBMS。 – AndreKR

+0

我不明白你的問題,請重新編寫它,所以我們可以提供幫助。 夥計們,不要對新手站點成員採取侵略性的措施,當他們的問題不夠明確時,會給予他們負面投票的問題,而不是引導他們明確地描述他們的問題。 –

+0

想想Excel以及它的列過濾如何爲您提供列中所有值的列表,以及每個值的記錄計數。這不是我問的問題;?)我正在尋找一種更通用的SQL方法,而不是使用某些數據庫特定的實用程序。 ......我的問題的第二部分涉及專欄中的「太多獨特的價值觀」,因此最終會對「編碼」字段(如國家或州代碼)這樣​​做 - 這正是我已經說過的。 ;) – user556634

回答

1

對於任何單個列,你可以這樣做:

SELECT column, COUNT(*) AS column_count 
    FROM tablename 
GROUP BY column 
ORDER BY column 

沒有一個簡單的方法,在一個單獨的語句中的所有列做到這一點;您最終會遇到最可怕的多重外部聯接,並且會遇到訂單問題以及需要解決的各種問題。 (例如,每個單獨的列可以具有不同數量的不同值)。

問題的後半部分('如何區分')是不可思議的;你必須知道你的數據集才能做出差異化。

+0

「關閉不是一個真正的問題米奇小麥,balexandre,dasblinkenlight,布賴恩羅奇,bensiu 12年12月29日在2:45」... ...請再讀一遍我的問題,然後約翰森的完美答案,然後考慮下列。你的態度和所有這些缺點是完全可悲的,因爲如果一個人知道2/3的主題是爲了完美地構建問題,那麼就沒有必要問,因爲一個人足夠了解剩下的1/3。喬納森明白你不能。 – user556634

相關問題