0

sqlite3 データベースには、date という列があります。すべての日付値が同一の場合に同一の値を返すクエリが必要です。そうでない場合は、NULL を返す必要があります。

これをSQLで最もよく表現するにはどうすればよいですか?

4

2 に答える 2

4
SELECT CASE WHEN MIN(DateColumn) = MAX(DateColumn) 
                THEN MIN(DateColumn) 
                ELSE NULL                       -- not needed, added for clarity
       END AS result
FROM TableX ;

SQLite についてはわかりませんが、ほとんどの DBMS では(DateColumn)、MIN/MAX 条件にインデックスがある場合、COUNT().

于 2013-10-24T14:21:03.947 に答える
1
SELECT CASE WHEN COUNT(DISTINCT DateColumn) = 1
            THEN DateColumn
            ELSE NULL
        END AS result    
FROM YourTable;
于 2013-10-24T14:35:53.540 に答える