【发布时间】:2019-05-01 00:13:26
【问题描述】:
我有一个包含 column1 和 column2 以及其他列的表?
我需要对取自 column1 和 column2 的所有行的唯一值进行计数。 可能的查询: 从中选择计数(*) ((从 table1 中选择不同的 column1)UNION (从 table1 中选择不同的 column2));
我还需要计算所有行中的唯一值,如下所示:- “列 1”+“-”+“列 2” "column2" + "-" + "column1"
可能的查询: 从中选择计数(*) ((从 table1 中选择不同的 column1,column2)UNION (从table1中选择不同的column2,column1))
我认为这两个查询都可能存在缺陷。
样本数据:
第 1 列 第 2 列 值 1 空 空值1 价值 1 价值 2 价值 2 价值 1 值 4 空 值5 null
查询 1 的结果:4(Value1、Value2、Value4、Value5) 查询 2 的结果:5 (Value1, Value1-Value2, Value2-Value1, Value4, Value5)
将忽略 Null 并排除连字符。或者可以忽略连字符。不特别关注连字符。
【问题讨论】:
-
样本数据和期望的结果真的很有帮助。
-
你怎么可能通过运行“select count(*) 得到一个“唯一的 values 列表”?即使你没有知道如何解决您的问题,您不能指望 COUNT 给您一个值列表。
-
我需要一个计数,而不是一个值列表。我纠正了措辞。
-
我添加了示例数据。
标签: sql oracle distinct multiple-columns