Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tại sao kết quả SELECT khác nhau giữa mysql và sqlite?

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 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận các ký tự được mã hóa không chính xác khi truy xuất các giá trị từ MySQL DB

  2. Tìm giá trị tối thiểu không được sử dụng trong bảng mysql

  3. Ngăn chặn các cuộc tấn công đưa vào SQL trong một chương trình Java

  4. PDO fetch () có đưa ra một ngoại lệ khi bị lỗi không?

  5. MySQL:cách thực hiện tìm kiếm nhiều bảng đầy đủ