Tương tự như this question, tôi cần nhóm một số lượng lớn các bản ghi thành các nhóm "1 giờ". Ví dụ, giả sử tôi có một bảng ORDER điển hình với một datetime được đính kèm theo mỗi thứ tự. Và tôi muốn xem tổng số đơn hàng mỗi giờ. Vì vậy, tôi đang sử dụng SQL gần như thế này:Việc nhóm/tập hợp kết quả SQL vào các nhóm 1 giờ
SELECT datepart(hh, order_date), SUM(order_id)
FROM ORDERS
GROUP BY datepart(hh, order_date)
Vấn đề là nếu không có đơn đặt hàng trong một "xô" 1 giờ nhất định, không có hàng nào được phát ra trong tập hợp kết quả. Tôi muốn resultset có một hàng cho mỗi 24 giờ, nhưng nếu không có đơn đặt hàng được thực hiện trong một giờ cụ thể, chỉ cần ghi lại số lượng đơn đặt hàng là O.
Có cách nào để thực hiện điều này trong một truy vấn đơn lẻ?
Xem thêm Getting Hourly Statistics Using SQL.
Nó sẽ giúp biết bạn đang sử dụng phiên bản Pg nào. –