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子句的情况下实现此目的吗?谢谢!
我认为你误解了DISTINCT它的范围:它会给你不同的行,而不仅仅是第一个字段上的不同.
如果你想,每一列都不同LOOKUP_VALUE,您可能需要一个WHERE条款,将制定出他们中的哪一个来展示,或聚集战略,以GROUP BY在条款加上逻辑SELECT,告诉查询如何聚合其他列(例如AVG,MAX,MIN)