[英]SQL Query to get Distinct Values of all column values in a table
如何從表中的所有列檢索不同的值。
Select Distinct col1, col2, col3, col4 from table1
將通過檢查所有列的相等性來給出唯一記錄。 但是我需要表格中所有不同的值? 提前致謝。
對於Ex:我的表有以下記錄:
Col1 Col2 Col3 Col4
------------------------------------------------------------------------
Melbourne Sit1 10.0 5.3
Melbourne Sit2 10.1 5.4
Sydney Sit1 10.0 5.3
Sydney Sit3 10.0 5.3
Bangalore Sit1 10.5 0.1
最終結果應如下所示:
Result
----------------
Melbourne
Sydney
Bangalore
Sit1
Sit2
Sit3
10.0
10.1
10.5
5.3
5.4
5.1
訂單無關緊要。
你可以這樣做:
select col1 from table union
select col2 from table union
. . .
select coln from table;
union
的使用會刪除重復值。 請注意,這假定列類型是兼容的(例如所有字符串)。
編輯:
如果表中的列必須只有一種類型。 (好吧,它可能是一個變種,但這可能不是簡化。)你可以將所有內容都轉換為varchar2()
:
select cast(col1 as varchar2(255)) from table union
select cast(col2 as varchar2(255)) from table union
. . .
select cast(coln as varchar2(255)) from table;
或者,您可以按數據類型對列進行分組,並為每個列分別運行,或為每種數據類型單獨運行。 您不太可能在數據類型之間具有完全匹配,因此這可能滿足您的需求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.