簡體   English   中英

將窗口延遲功能的記錄集限制為當前日期

[英]limit record set for window lag function to current day

我使用postgresql lag函數為用戶提取下一條記錄,但如何將其限制為當前記錄的日期?

SELECT (sd.doc ->> 'readerId'::text)::integer current, LAG((sd.doc ->> 'readerId'::text)::integer) OVER (ORDER BY sd.created_at DESC) next FROM sd

表ID(主鍵),doc(jsonb類型)和created_at時間戳中只有3個字段。

問題是我想選擇用戶當天訪問的下一個readerId。 使用我當前的查詢,它可能會從第二天返回下一個readerId。

只需按天對其進行分區:

SELECT (sd.doc ->> 'readerId'::text)::integer current, LAG((sd.doc ->> 'readerId'::text)::integer) OVER (PARTITION BY date_trunc('1 day', sd.created_at) ORDER BY sd.created_at DESC) next FROM sd

暫無
暫無

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

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