Pokusil jsem se pohrát s některými variantami dotazu.
Zdá se, že sqlite má chyby v použití dříve deklarovaných polí ve vnořeném HAVING výrazy.
Ve vašem příkladu avg1
mít pod sekundou se vždy rovná 5.0
Podívejte se:
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);
Tento nevrátí nic, ale provedení následujícího dotazu vrátí oba záznamy:
...
having not exists (
SELECT 1 AS col1 GROUP BY col1 HAVING avg1 <> 5.0);
Nemohu najít žádnou podobnou chybu v seznamu lístků sqlite .