我是数据库的新手,所以感谢您的帮助。
给定一个包含 10 列 A、B、C、D、.....在所有列中都有很多非唯一值,如何在 A 列中获取具有不同值的行。因此,如果 A 列中有 5 行,每行的值分别为"eureka"和"嬉皮士",则每行都需要一行。
如果您能告诉我多种解决方案并将其与 SQL 对应项进行比较,那就太好了。我搜索了它可以使用 GROUP BY 和 PARTITION BY 完成,但不知何故我无法在 Athena 中获得查询工作。谢谢!!!
使用 row_number()
:
select t.*
from (select t.*, row_number() over (partition by a order by a) as seqnum
from t
) t
where seqnum = 1;