sql >> Databasteknik >  >> RDS >> Mysql

Varför skiljer sig SELECT-resultaten mellan mysql och sqlite?

Jag försökte bråka med några varianter av sökfrågan.

Det verkar som att sqlite har fel vid användning av tidigare deklarerade fält i en kapslad HAVING uttryck.

I ditt exempel avg1 under sekund att ha är alltid lika med 5,0

Titta:

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

Den här returnerar ingenting, men körning av följande fråga returnerar båda posterna:

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

Jag kan inte hitta något liknande fel på sqlite biljettlista .



  1. Det går inte att lagra Euro-sign i LOB String-egenskapen med Hibernate/PostgreSQL

  2. Felsökning Ingen sådan fil eller katalog när du kör `php app/console doctrine:schema:create`

  3. hur hämtar man en bild från mysql-databasen med java-servlet och visar den i HTML-img-tagg?

  4. Lär dig Oracle, ställer in boolean baserat på datum