嗨,想知道是否有人可以帮助我,这可能不是最好的描述,但我会尽我所能。我有一个表有一个具有许多重复值的列。
COL1|COL2|COL3
1 data data
1 data data
1 data data
2 data data
2 data data
我想要一个只返回col1重复值中的一个的查询。所以查询就是这样做的。
COL1
1
2
这是否可能,我怎么能这样做?
答案 0 :(得分:3)
在DISTINCT
声明
SELECT
个关键字
在
中SELECT DISTINCT * FROM ...
答案 1 :(得分:0)
如果您只想要第一列,那么:
select distinct col1
from t;
如果您有多列,这可能无法达到预期效果。
如果您想要完整的行,但每个值只需要一个,那么请使用row_number()
:
select t.*
from (select t.*, row_number() over (partition by col1 order by col1) as seqnum
from t
) t
where seqnum = 1;