sql >> データベース >  >> RDS >> Mysql

SELECTの結果がmysqlとsqliteで異なるのはなぜですか?

    クエリのいくつかのバリエーションをいじってみました。

    ネストされたHAVINGで以前に宣言されたフィールドを使用する際にsqliteにエラーがあるようです 式。

    あなたの例では、avg1 2番目の下で持つことは常に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. PostgreSQLデータベースの作成

    2. イベントスケジューラは毎月実行する必要があります

    3. JDBC Thin Oracle 11g

    4. MySQLはチェック制約をサポートしていますか?