ホームページ >データベース >mysql チュートリアル >SQL クエリで特定の値を持つ行に優先順位を付けるにはどうすればよいですか?
特定の値を持つ行を最初に返す
アルファベット順を維持しながら、特定の列の値に基づいて行の優先順位を付けるようにクエリを変更する必要があります残りの行については。
達成するにはこれ:
SQL Server、Oracle、DB2、その他
次の構文を使用します:
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
このコード内:
CASE ステートメントは優先度を作成します列:
ORDER BY は行を並べ替えます:
例
提供されたテーブルを使用すると、これはクエリ:
SELECT * FROM Users ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city;
は次の結果を返します:
- id - name - city - 3 John New York - 4 Amy New York - 6 Nick New York - 1 George Seattle - 2 Sam Miami - 5 Eric Chicago
このクエリは効果的に最初に「ニューヨーク」を含む行を返し、次に残りの行を都市ごとにアルファベット順に並べます。
以上がSQL クエリで特定の値を持つ行に優先順位を付けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。