Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengapa hasil SELECT berbeda antara mysql dan sqlite?

Saya mencoba mengacaukan beberapa varian kueri.

Tampaknya, seperti sqlite memiliki kesalahan dalam menggunakan bidang yang dideklarasikan sebelumnya dalam HAVING bersarang ekspresi.

Dalam contoh Anda avg1 di bawah kedua memiliki selalu sama dengan 5.0

Lihat:

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);

Yang ini tidak menghasilkan apa-apa, tetapi eksekusi kueri berikut mengembalikan kedua catatan:

...
having not exists (
    SELECT 1 AS col1 GROUP BY col1 HAVING avg1 <> 5.0);

Saya tidak dapat menemukan bug serupa di daftar tiket 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. Kesalahan koneksi MySQL yang belum pernah saya lihat

  2. Cara Membuat Daftar Tabel di MySQL dan MariaDB

  3. Tidak dapat membuka tabel mysql.plugin. Beberapa plugin mungkin tidak dimuat

  4. NodeJS MySQL:mengukur waktu eksekusi kueri

  5. Apa cara yang disarankan untuk menyimpan waktu saat ini menggunakan PHP dan MySQL?