【问题标题】:How to select distinct values for two and return all columns?如何为两个选择不同的值并返回所有列?
【发布时间】:2021-08-30 13:42:21
【问题描述】:

我想从两列中选择不同的值。

示例数据:

ID TITLE SOURCE TARGET
1  asd   12      2
2  asd1  123     125
3  asd1  123     56  
4  asd2  123     125
5  asd3  164     146

我想获取源列和目标列 ID - 2 和 ID - 4 重复的不同数据。

ID TITLE SOURCE TARGET
1  asd   12      2
2  asd1  123     125
3  asd1  123     56  
5  asd3  164     146

【问题讨论】:

  • 编辑您的问题并显示您想要的结果。

标签: sql oracle distinct distinct-values


【解决方案1】:

如果您只想要不同的值,请使用 select distinct:

select distinct source, target
from example t;

如果您希望源/目标仅出现在一行上,则一种方法使用窗口函数:

select t.*
from (select t.*,
             count(*) over (partition by source, target) as cnt
      from example t
     ) t
where cnt = 1;

【讨论】:

  • 感谢您的及时回复,我想选择源/目标仅出现在一行上的所有列。我将“from t”更改为我的真实表名,但是,我得到:ORA-00904:“T”:无效标识符
  • 不要把t改成你的真名,而是example
  • @悟空。 . .我使用example 作为您的表格名称编辑了答案。
  • 为什么我在这个问题上得到了两票反对?
  • @悟空。 . .我不知道。似乎有很多 Stack Overflow 用户喜欢在不说明原因的情况下投反对票。只需将其视为荣誉徽章。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
  • 1970-01-01
  • 2022-11-29
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
相关资源
最近更新 更多