Tôi có bảng sau:Cách tạo phạm vi ngày + đếm các ngày trước đó từ một bảng khác trong PostgreSQL?
links
:
created_at active
2017-08-12 15:46:01 false
2017-08-13 15:46:01 true
2017-08-14 15:46:01 true
2017-08-15 15:46:01 false
Khi được đưa ra một phạm vi ngày, tôi phải trích xuất theo chuỗi thời gian mà nói với tôi bao nhiêu liên kết tích cực được tạo ra vào một ngày bằng hoặc nhỏ hơn so với hiện tại (cán) ngày.
Output (đối với phạm vi ngày 2017/08/12 - 2017/08/17):
day count
2017-08-12 0 (there are 0 active links created on 2017-08-12 and earlier)
2017-08-13 1 (there is 1 active link created on 2017-08-13 and earlier)
2017-08-14 2 (there are 2 active links created on 2017-08-14 and earlier)
2017-08-15 2 ...
2017-08-16 2
2017-08-17 2
tôi đã đưa ra các truy vấn sau đây cho những ngày tạo:
SELECT date_trunc('day', dd):: date
FROM generate_series
('2017-08-12'::timestamp
, '2017-08-17'::timestamp
, '1 day'::interval) dd
Nhưng lăn đếm nhầm lẫn tôi và không chắc chắn làm thế nào để tiếp tục. Điều này có thể được giải quyết với một chức năng cửa sổ?
Có, có lỗ hổng, một số ngày bị thiếu. Vì vậy, trong những ngày đó tôi phải tính số lượng ngày trước đó gần đây nhất. –