SELECT DISTINCT不起作用

Law*_*Law 0 sql oracle select distinct

假设我有一个表名TableA,其中包含以下部分数据:

LOOKUP_VALUE     LOOKUPS_CODE     LOOKUPS_ID
------------     ------------     ----------
          5%              120           1001
          5%              121           1002
          5%              123           1003
          2%              130           2001
          2%              131           2002
Run Code Online (Sandbox Code Playgroud)

我想使用DISTINCT仅选择1行5%和1行2%作为视图,但它失败了,我的查询是:

SELECT DISTINCT lookup_value, lookups_code
  FROM TableA;
Run Code Online (Sandbox Code Playgroud)

上面的查询给出了如下所示的结果.

LOOKUP_VALUE     LOOKUPS_CODE     
------------     ------------     
          5%              120           
          5%              121           
          5%              123           
          2%              130           
          2%              131           
Run Code Online (Sandbox Code Playgroud)

但这不是我预期的结果,mt预期结果如下所示:

LOOKUP_VALUE     LOOKUPS_CODE     
------------     ------------     
          5%              120                                
          2%              130           
Run Code Online (Sandbox Code Playgroud)

我可以知道如何在不指定任何WHERE子句的情况下实现此目的吗?谢谢!

dsz*_*dsz 5

我认为你误解了DISTINCT它的范围:它会给你不同的,而不仅仅是第一个字段上的不同.

如果你想,每一列都不同LOOKUP_VALUE,您可能需要一个WHERE条款,将制定出他们中的哪一个来展示,或聚集战略,以GROUP BY在条款加上逻辑SELECT,告诉查询如何聚合其他列(例如AVG,MAX,MIN)