Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо резултатите от SELECT се различават между mysql и sqlite?

Опитах се да се забъркам с някои варианти на заявка.

Изглежда, че sqlite има грешки при използването на предишни декларирани полета във вложен HAVING изрази.

Във вашия пример avg1 под второ имане винаги е равно на 5.0

Виж:

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

Този не връща нищо, но изпълнението на следната заявка връща и двата записа:

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

Не мога да намеря подобен бъг в списък с билети на 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. Не може да се извлекат метаданни

  2. Проблем с кодирането на набор от символи

  3. Как да отстраня грешките при превишаване на времето за изчакване на заключване на MySQL?

  4. Просто, но тежко приложение, което консумира много ресурси. Как да оптимизираме?

  5. Как да използвам командата mysql source с mysql променлива?