Tôi đã cố gắng làm rối với một số biến thể của truy vấn.
Có vẻ như sqlite có lỗi khi sử dụng các trường đã khai báo trước đó trong HAVING lồng nhau biểu thức.
Trong ví dụ của bạn avg1
dưới thứ hai luôn bằng 5,0
Nhìn:
select T1.id, avg(T1.score) avg1
from foo T1
group by T1.id
having not exists (
SELECT 1 AS col1 GROUP BY col1 HAVING avg1 = 5.0);
Cái này không trả về gì, nhưng việc thực thi truy vấn sau sẽ trả về cả hai bản ghi:
...
having not exists (
SELECT 1 AS col1 GROUP BY col1 HAVING avg1 <> 5.0);
Tôi không thể tìm thấy bất kỳ lỗi nào tương tự tại danh sách vé sqlite .