假设我有一个表名TableA,其中包含以下部分数据:
LOOKUP_VALUE LOOKUPS_CODE LOOKUPS_ID ------------ ------------ ---------- 5% 120 1001 5% 121 1002 5% 123 1003 2% 130 2001 2% 131 2002
我想使用DISTINCT仅选择1行5%和1行2%作为视图,但它失败了,我的查询是:
SELECT DISTINCT lookup_value, lookups_code FROM TableA;
上面的查询给出了如下所示的结果.
LOOKUP_VALUE LOOKUPS_CODE ------------ ------------ 5% 120 5% 121 5% 123 2% 130 2% 131
但这不是我预期的结果,mt预期结果如下所示:
LOOKUP_VALUE LOOKUPS_CODE ------------ ------------ 5% 120 2% 130
我可以知道如何在不指定任何WHERE子句的情况下实现此目的吗?谢谢!
我认为你误解了DISTINCT
它的范围:它会给你不同的行,而不仅仅是第一个字段上的不同.
如果你想,每一列都不同LOOKUP_VALUE
,您可能需要一个WHERE
条款,将制定出他们中的哪一个来展示,或聚集战略,以GROUP BY
在条款加上逻辑SELECT
,告诉查询如何聚合其他列(例如AVG
,MAX
,MIN
)