ウェブサイトでは、MySQLで整列するのに苦労している項目のリストがあります。MySQL:ORDER BY式ですか?
いくつかのアイテムは "期限切れ"(そのend_atは過去)ですが、それらを取得したいのですが、 "アクティブ"アイテムの後ろにあります(end_atはNULLか将来のいずれかです)。私はさらにさんは、「ビュー」を言わせて、別のフィールドに応じてアイテムを並べ替えることができるようにしたいと思い
(最初に最も人気のあるものを得るために)
基本的に、これは私が取得したいものです。
- 項目1(アクティブ - 最も人気のある)
- アイテム2(アクティブ - 番目に人気)
- アイテム3(アクティブ - 番目に人気)
- アイテム4(期限切れ)
- 項目5(期限切れ)
はこれまでのところ、これは私が試したものである(など):
はSELECT name, end_at
FROM items
ORDER BY (end_at IS NULL OR end_at > CURDATE()), views DESC;
は動作しません。でも、最初に返されたアイテムは有効期限が切れています。