我有一個超過 300 列的市場價格記錄表,系統每 15 秒記錄一次資料......每分鐘 4 行
| _ID | 日期時間 | 第一列 | 列2 | 第3列 |
|---|---|---|---|---|
| 1 | 2021-12-26 19:05:00 | 0.25 | 36.50 | 15.12 |
| 2 | 2021-12-26 19:05:15 | 0.25 | 36.60 | 15.12 |
| 3 | 2021-12-26 19:05:30 | 0.21 | 36.12 | 15.20 |
| 4 | 2021-12-26 19:05:45 | 0.32 | 36.50 | 15.22 |
| 5 | 2021-12-26 19:06:00 | 0.35 | 36.25 | 15.23 |
| 6 | 2021-12-26 19:06:15 | 0.36 | 36.33 | 15.24 |
| 7 | 2021-12-26 19:06:30 | 0.36 | 36.50 | 15.36 |
對于第 1 列
SELECT _id,
column1 ,
LAG(column1 ,12) over (partition by _id order by _id desc)as colum3min
FROM the_table
order by _id desc
如果價格變化高于 %0.5,我需要每 3 分鐘檢查一次 columnX 價格變化。對于每一行插入..
我試圖撰寫一個 LAG 函式 SQL 但它不起作用。
任何人都可以幫我寫這個 sql for postgresql 嗎?
uj5u.com熱心網友回復:
你不應該partition by _id,而且你should order by "the_datetime"。
with u as
(SELECT _id,
column1 ,
LAG(column1, 12) over (order by "the_datetime") as column3min
FROM the_table)
select * from u
where column1 / column3min >= 1.005 or column3min / column1 >= 1.005
小提琴:我添加了一些條目以顯示它正在作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/395785.html
標籤:sql PostgreSQL的
上一篇:范圍內的SQL唯一資料
