[英]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 -> completed
, rollno
和所有其他值相同。
表是在 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.