[英]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.