簡體   English   中英

MYSQL:從表中獲取每個客戶的倒數第二個記錄

[英]MYSQL: Get second last record for every customer from a table

我的桌子看起來像這樣

ID  DATE      customer_id
 1   2020-10-01   10
 2   2020-10-01   11
 3   2020-10-02   10
 4   2020-10-03   10
 5   2020-10-03   11

我試圖根據每個客戶的倒數第二個 ID 從列表中獲取什么

ID  DATE      customer_id
 2   2020-10-01   11
 3   2020-10-02   10

在這里使用ROW_NUMBER是合適的:

WITH cte AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY DATE DESC) rn
    FROM yourTable
)

SELECT ID, DATE, customer_id
FROM cte
WHERE rn = 2;

暫無
暫無

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

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