1


0

同じテーブルからの2つのSQLクエリ

テーブルから最初の行(降順で「日付」で並べられている)を取得し、残りの行(昇順で「最後の名前」で並べられている)を取得しようとしています。 これにはUNIONステートメントを使用する必要があると思いますが、機能させるのに問題があります。

前もって感謝します

3 Answer


2


なぜ2つのクエリを実行しないのですか? それは明らかな答えのようです。

すべてのタスクを単一のクエリで実行する必要があるわけではありません。 すべてのPHPコードも1つのステートメントに記述しますか? ;-)


2


MySQLを使用すると仮定すると、次を使用できます。

 (SELECT t.*
    FROM TABLE t
ORDER BY t.date DESC
   LIMIT 1)
UNION
 (SELECT t.*
    FROM TABLE t
ORDER BY t.last_name)

ORDER BYを適用するには、ステートメントを括弧でカプセル化する必要があります - それ以外の場合、ORDER BYはUNIONの後に結果セットに適用されます。


2


SELECT *
FROM yourtable
ORDER BY
    id = (SELECT id FROM yourtable ORDER BY date DESC LIMIT 1) DESC,
    last_name