0
我只有一列datetime類型的表。而且我每天都有很多活動。PostgreSQL窗口函數:連續多天的事件序號#
要獲取所有事件,只需SELECT date FROM table;
如何在每一行上添加一個序列號,以便每一天的第一行是1,第二行是2,等等,重新設置第二天的序列號?
我正在尋找一個使用PostgreSQL窗口函數的解決方案。
我只有一列datetime類型的表。而且我每天都有很多活動。PostgreSQL窗口函數:連續多天的事件序號#
要獲取所有事件,只需SELECT date FROM table;
如何在每一行上添加一個序列號,以便每一天的第一行是1,第二行是2,等等,重新設置第二天的序列號?
我正在尋找一個使用PostgreSQL窗口函數的解決方案。
首先創建虛擬日期(應問題的避風港了一部分):
CREATE TABLE "table"
(
date timestamp with time zone
);
insert into "table"(date)
select now()+(x*23||'minutes')::interval
from generate_series(1, 100) as x;
然後查詢所有行包括反:
select date, row_number() over (partition by date_trunc('day', date))
from "table"
請添加基於一些樣本數據和預期輸出數據(請格式化文本,無屏幕截圖) –