SQL:2003 extension T611に指定されているように、最後のすべてのNULL列(NULLS LAST
)を使用して結果をソートしたいとします。残念ながら、SQLiteはそれをサポートしていないようです。賢明な回避策はありますか?SQLiteでNULLS LASTを実行するには?
答えて
これは機能しますか?
SELECT ....... ORDER BY COALESCE(col1,col2,col3,etc) IS NULL
「すべてのNULL列が最後に」という言葉に混乱します。あなたが特定の列の最後のすべてのNULL値が必要な場合は、これを使用する:
SELECT ....... ORDER BY col1 IS NULL
あなたが偽のそれにこのような何かを行うことができます。
select * from test
order by case ordercol when null then 1 else 0 end, ordercol
なぜordercolがnullの場合は順序付けしない、それ以外は0 else1、ordercol'ですか?誰かがordercolに-100より小さい値を設定すると変なバグが保存されます。 – mvds
それは良い点です。私はちょうど私の頭の上から曖昧な例を書きました。データがどのように見えるか分からないからです。しかし、あなたの訂正は一般的にうまくいく - それを適用! – Blorgbeard
IややBlorgbeardの答えのように、この変形は、」doesnの間正しいデータ型の有効な「偽の」値を提供することに注意してください。
ORDER BY CASE WHEN SOMECOL IS NULL THEN 1 ELSE 0 END, SOMECOL
また、偽の値を使用したい場合でも、ISNULLを使用することをお勧めします。
ORDER BY ISNULL(SOMECOL,-9999)
マイケルが指摘したように、SQLiteはIFNULL
を使用します。 ANSI-SQL UniversalバージョンCOALESCE
も使用できます。
マイナーな訂正だと思います... SQLiteでは、ISNULLはIFNULLでなければなりません。 – Michael
ありがとう@Michael、より良い情報で更新 – RichardTheKiwi
同じ問題が発生しました。 私はこの仕事ができる判明:
(私はSQLiteのための任意のisnull
機能を見つけることができませんでした)
order by ifnull(column_what_you_want_to_sort,'value in case of null')
- 1. MySQLソートでnulls-firstまたはnulls-lastを制御する方法は?
- 2. Denodo、MemSQL、Spark、VectorWise、XtremeDataのNULLS LASTフラグ
- 3. TopLinkのreadAllQueryで条件の中で "NULLS LAST"を使用する方法
- 4. javascriptでnullsを検索するには
- 5. .sqliteファイルを実行するには?
- 6. JSONB nullsとorder by
- 7. SQLiteでTEXTデータ型を実行する
- 8. selectでSQLiteを実行中
- 9. UTF8でSQLiteスクリプトを実行するには?
- 10. SQLiteとSQLite-ExtensionsはOneToOneのリレーションシップを実行できません
- 11. SQLite - デバイスで実行中
- 12. docutilsでnullsを使用する方法
- 13. SQLiteの実行エラー
- 14. ESLintでeol-last checkを実行するにはどうすればよいですか?
- 15. sqliteからselectを実行する
- 16. SQLiteでピボットテーブルを実行する最も良い方法は?
- 17. Ionic2 - SQLite SQLを実行
- 18. 悪いデータベースパスでSQLiteを強制的に実行する
- 19. SQLiteで合計カラムを実行
- 20. Subsonic 3.0エラーSQLiteでActiveRecordテンプレートを実行
- 21. dockerfile内でsqliteコマンドを実行
- 22. qtでsqliteに接続してandroidで実行する方法
- 23. sqliteでrawqueryを実行するとエラーが発生する
- 24. SQL ServerのIGNORE NULLSのLast_value
- 25. SQLiteデータベースの実行時エラー
- 26. iPhoneは実行時にSQLiteデータベースを作成しますか?
- 27. Androidでのsqliteテストの実行
- 28. SQLiteは実際にクロスプラットフォームですか?
- 29. Xamarinテーブルマッピングやクラスを知らずにSQLiteクエリを実行する
- 30. 強制的にSQLite 3.7をレガシーモードで実行しますか?
あなたは 'NULL'れていません意味しないのですか? – dan04
@ dan04 thx、you're right – mvds
私はそれが最後にヌルを得るためには 'IS NULL'であるべきだと思う: – Blorgbeard