【问题标题】:select distinct row using single column value in Athena在 Athena 中使用单列值选择不同的行
【发布时间】:2019-01-31 17:39:50
【问题描述】:

我是数据库新手,感谢您的帮助。

给定一个包含 10 列 A、B、C、D 的表,......在所有列中都有很多非唯一值,如何在 A 列中获取具有不同值的行。所以如果有 5 行A列中的值'eureka'和'hippie',我需要每行。

如果您能告诉我多个解决方案并将它们与 SQL 对应物进行比较,那就太好了。我搜索它可以用 GROUP BY 和 PARTITION BY 来完成,但不知何故我无法在 Athena 中进行查询工作。谢谢!!!

【问题讨论】:

    标签: sql hive amazon-athena presto


    【解决方案1】:

    使用row_number():

    select t.*
    from (select t.*, row_number() over (partition by a order by a) as seqnum
          from t
         ) t
    where seqnum = 1;
    

    【讨论】:

    • 感谢您的回答,即使我后来能够找出解决方案,最初我使用的是 Distinct(header1), rest_headers... 但后来意识到它不起作用并感到困惑。是的,将使用 Row_Number()。
    猜你喜欢
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多