Vì vậy, tôi gặp phải những gì tôi nghĩ là một lỗi kỳ lạ sáng nay khi tôi vô tình gọi một cột "đếm" không tồn tại trong CTE của tôi. Postgres đang tìm kiếm một mệnh đề GROUP BY mặc dù tôi không nghĩ rằng tôi đang làm tổng hợp. Chơi nhiều hơn một chút và nó xuất hiện table.count tương đương với một hàm đếm sao. Hãy xem xét những điều sau đây:Đếm Cú pháp Đếm Dot Tổng hợp (.count)
SELECT
c.clinic_id,
c.count,
count(*) as count_star
FROM clinic_member c
GROUP BY
c.clinic_id
ORDER BY clinic_id;
này sẽ tạo ra kết quả mà trông như thế này trong bộ dữ liệu của tôi:
Bị kích thích để hiểu những gì các quy tắc cú pháp thực tế Postgres là, tôi đã cố gắng tìm kiếm tài liệu để tham khảo với cú pháp này và không thể tìm thấy bất cứ điều gì; chỉ rất nhiều tài liệu để đếm (*). Bất cứ ai có thể giải thích nếu đây là SQL hợp lệ và liệu có các chức năng tổng hợp khác cũng có thể được gọi tương tự? Liên kết đến tài liệu Postgres sẽ tuyệt vời nếu chúng tồn tại.
Lưu ý. Đây là trên Postgres 9.5.9
đây không phải là tiêu chuẩn sql – Hogan
cách chính xác được bạn chế biến sql này - là nó có thể ứng dụng truy vấn của bạn đang thực hiện thay đổi đối với bạn? – Hogan
Vâng, tôi có thể xác nhận hành vi này. – jira