可以在記錄之間以預定義的天數間隔進行選擇,例如:
------ ---------------- --------
| user | date | Data |
----- ---------------- --------
| 1 | 2022-01-01 | 1 |
| 1 | 2022-01-02 | 5 |
| 1 | 2022-01-03 | 2 |
| 1 | 2022-01-06 | 3 |
| 1 | 2022-01-07 | 7 |
| 1 | 2022-01-08 | 1 |
| 1 | 2022-01-09 | 2 |
------ ---------------- --------
GIVE ME ALL RECORDS WITH 2 DAYS INTERVAL FOR EACH DATE
2022-01-03(銀行的記錄可能存在和之間的差距2022-01-06)
結果:
------ ---------------- --------
| user | date | Data |
----- ---------------- --------
| 1 | 2022-01-01 | 1 |
| 1 | 2022-01-06 | 3 |
| 1 | 2022-01-09 | 2 |
------ ---------------- --------
但是這個 2 天的值可以更改為 7 天、30 天等。
目前我正在通過代碼手動執行此操作,我獲取開始日期,添加 x 天,執行選擇,添加 x 天,執行其他選擇直到間隔結束,但這非常昂貴,并且該程序需要幾分鐘。
有沒有辦法在一個查詢中做到這一點?
uj5u.com熱心網友回復:
WITH cte AS (
SELECT *, ROW_NUMBER() OVER (ORDER BY `date`) rn
FROM tablename
)
SELECT *
FROM cte
WHERE rn MOD 3 = 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444168.html
下一篇:Scala-Option上的Map2函式-->flatMapvs.Mapvs.For-Comprehension
