我正在處理客戶資料庫,我想獲取他們第二次購買的所有資料(對于我們所有的客戶天氣,他們有 2 次或更多次購買)。例如:
Customer_ID Order_ID Order_Date
1 259 09/05/2020
1 644 03/11/2020
1 617 18/04/2022
4 834 22/09/2021
4 995 07/02/2022
我想顯示第二個訂單,即:
Customer_ID Order_ID Order_Date
1 644 03/11/2020
4 995 07/02/2022
我在找到正確的邏輯方面遇到了一些困難,知道如何實作我的最終目標嗎?:)
*注意:我使用的是雪花
uj5u.com熱心網友回復:
您可以使用 ROW_NUMBER 并使用 QUALIFY 子句進行過濾:
select * from table qualify row_number() over(partition by customer_id order by order_date) = 2;
uj5u.com熱心網友回復:
您可以使用公用表運算式
with CTE_RS
AS (
SELECT Customer_ID,ORDER_ID,Order_Date,ROW_NUMBER() OVER(PARTITION BY Customer_ID ORDER BY Order_Date ) ORDRNUM FROM *TABLE NAME*
)
SELECT Customer_ID,ORDER_ID,Order_Date
FROM CTE_RS
WHERE ORDRNUM = 2 ;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476287.html
上一篇:資料傳輸:JSON→SQL
