[英]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.