[英]Unique row number per date with partition
我有包含產品代碼和數據更新日期的數據,我想對每個產品代碼的行進行編號,以便我只能選擇最近的更新。
我嘗試了以下代碼:
SELECT
ChangedDateTime,
ROW_NUMBER() OVER(PARTITION BY ProductCode, ChangedDateTime ORDER BY ChangedDateTime DESC) change_id,
ProductCode
FROM `dataset.table`
但它返回:
Row ChangedDateTime change_id ProductCode
1 2019-06-06 08:08:01.510 UTC 1 A11
2 2019-06-05 08:08:01.510 UTC 2 A11
3 2019-06-04 16:02:13.087 UTC 1 A11
4 2019-06-05 08:08:01.510 UTC 1 A110
5 2019-06-04 16:02:13.087 UTC 1 A110
6 2019-06-04 14:36:54.930 UTC 1 A110
當我期望看到:L
Row ChangedDateTime change_id ProductCode
1 2019-06-06 08:08:01.510 UTC 1 A11
2 2019-06-05 08:08:01.510 UTC 3 A11
3 2019-06-04 16:02:13.087 UTC 2 A11
4 2019-06-05 08:08:01.510 UTC 1 A110
5 2019-06-04 16:02:13.087 UTC 2 A110
6 2019-06-04 14:36:54.930 UTC 2 A110
如何調整我的代碼以使其正常運行,我當前的分區正在做什么以對這些數字進行錯誤編號?
只需按date
刪除分區:
SELECT
ChangedDateTime,
ROW_NUMBER() OVER(PARTITION BY ProductCode ORDER BY ChangedDateTime DESC) change_id,
ProductCode
FROM `dataset.table`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.