最初に目的のレコードを出力し、次に結果セットの残りを出力するクエリがあります。
ニュースアイテムのリストがあり、各アイテムの横に「続きを読む」が付いています。
ユーザーが「続きを読む」リンクをクリックすると、選択したニュースアイテムが必要なニュースページに移動します(今はid = 1としましょう)。その後、残りのニュースアイテムを出力して並べ替えます。日付別。
私はこれまでに持っています:
"SELECT * FROM news ORDER BY(id, 1), newsdate DESC"
最初に目的のレコードを出力し、次に結果セットの残りを出力するクエリがあります。
ニュースアイテムのリストがあり、各アイテムの横に「続きを読む」が付いています。
ユーザーが「続きを読む」リンクをクリックすると、選択したニュースアイテムが必要なニュースページに移動します(今はid = 1としましょう)。その後、残りのニュースアイテムを出力して並べ替えます。日付別。
私はこれまでに持っています:
"SELECT * FROM news ORDER BY(id, 1), newsdate DESC"
その趣旨で何かを構築できるかもしれませんが、個人的には 2 つのクエリにフォールバックします。
SELECT * FROM news WHERE id=$id
その後;
SELECT * FROM news WHERE id<>$id ORDER BY newsdate DESC
ビューに 1 つの結果セットを渡す必要がある場合は、2 つを連結できます。
UNION クエリが必要なだけかもしれません。
SELECT * FROM news WHERE id=1
UNION (SELECT * FROM news WHERE id<>1 ORDER BY newsdate DESC)
( ) の間に 2 番目のクエリを含めるようにしてください。
または、次のようなトリックを使用することもできます。
SELECT * FROM news ORDER BY id=1 DESC, newsdate DESC