簡體   English   中英

AWS athena sql 查詢以獲取不同的數據

[英]AWS athena sql query to get distinct data

以下是我在excel表中的數據。 此數據存儲在 S3 存儲桶中。 此數據使用 lambda 函數隨 DynamoDB 流數據不斷更新。

rollno | status    |  name | place
----------------------------------
   1   | pending   |   x   | london 
   1   | approved  |   x   | london
   1   | progress  |   x   | london
   1   | completed |   x   | london
   2   | pending   |   y   | delhi
   2   | approved  |   y   | delhi
   2   | progress  |   y   | delhi
   3   | pending   |   z   | newyork
   3   | approved  |   z   | newyork 
   4   | pending   |   a   | seattle

正如您所看到的,只有狀態從pending -> approved -> progress -> completedrollno和所有其他值相同。

表是在 AWS Athena 中創建的。 我的目標是查詢 Athena 並獲得以下格式的結果(獲取最新狀態的詳細信息)。

rollno | status    |  name | place
----------------------------------
   1   | completed |   x   | london
   2   | progress  |   y   | delhi
   3   | approved  |   z   | newyork
   4   | pending   |   a   | seattle

我是 SQL 新手。 我能否獲得有關編寫 SQL 查詢以獲得高於預期結果的幫助。 我嘗試過,但無法找到在 SQL 中執行此操作的方法。

如果您有 update_time 列,您可以分組並獲取最新記錄。 在這里,我考慮過將 rollno 分組。 如果你願意,你也可以使用名稱和地點進行分組

     select rolno,status,name,place from table_T where rollno||updated_time
     in
     (
     select rollno||max(updated_time) from table_T group by rollno
     )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM