sql >> Database >  >> RDS >> Mysql

Waarom verschillen de SELECT-resultaten tussen mysql en sqlite?

Ik heb geprobeerd te knoeien met een aantal varianten van zoekopdrachten.

Het lijkt erop dat sqlite fouten heeft bij het gebruik van eerder gedeclareerde velden in een geneste HAVING uitdrukkingen.

In uw voorbeeld avg1 onder de tweede hebben is altijd gelijk aan 5,0

Kijk:

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

Deze retourneert niets, maar de uitvoering van de volgende query retourneert beide records:

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

Ik kan geen vergelijkbare bug vinden op sqlite ticketslijst .



  1. mySQL:utf8-tekenset op indextabel en dubbele sleutelfout

  2. Verzameling van toegewezen verklaringen bevat geen waarde voor mybatis mapper

  3. PostgreSQL - FOUT:kolomdatum kan niet worden gecast om datum te typen

  4. SQL Server-afstemming - het draait allemaal om meten