」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 MySQL 中尋找另一個事件之後特定天數的事件?

如何在 MySQL 中尋找另一個事件之後特定天數的事件?

發佈於2024-11-11
瀏覽:144

How to Find Events Following Another Event by a Specific Number of Days in MySQL?

了解 MySQL 自聯

自聯接是 SQL 資料庫中使用的技術,可讓您針對錶本身進行查詢。在本例中,我們將深入研究 MySQL 自聯接,以查找開始日期晚於另一個事件指定天數的事件。

查詢細分:

SELECT event2.id, event2.startdate, event2.price
FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
WHERE event1.id=$id;

1.資料擷取(FROM)

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

這部分從 mm_eventlist_dates 兩個表中提取數據,表示為 event1 和 event2,進行自連接。

2。連接條件 (ON)

ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)

此條件定義兩個表之間的連接。它指定事件 2 的開始日期必須等於事件 1 的結束日期一天後。

3.過濾(WHERE)

WHERE event1.id=$id

此過濾器將結果限制為ID 與指定$id 匹配的事件。

4.字段選擇(SELECT)

SELECT event2.id, event2.startdate, event2.price

這部分指定結果集中應包含event2 表中的哪些欄位: ID 、開始日期和價格。

工作原理:

  1. 查詢開始於從 mm_eventlist_dates 表中提取兩組記錄。
  2. 連線條件透過過濾開始日期與 event1 記錄結束日期後一天相符的 event2 記錄來縮小結果範圍。
  3. 過濾器適用使用者指定的 $id 以進一步細化 event1 記錄。
  4. 返回的結果包括 event2 表中所需的字段,這些字段表示緊隨 event1 的事件 天。
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3