Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que os resultados do SELECT diferem entre mysql e sqlite?


Tentei mexer com algumas variantes de query.

Parece que o sqlite tem erros no uso de campos declarados anteriores em um HAVING aninhado expressões.

No seu exemplo avg1 sob o segundo tendo é sempre igual a 5,0

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

Este não retorna nada, mas a execução da consulta a seguir retorna os dois registros:
...
having not exists (
    SELECT 1 AS col1 GROUP BY col1 HAVING avg1 <> 5.0);

Não consigo encontrar nenhum bug semelhante na lista de tickets sqlite .