ホームページ > データベース > mysql チュートリアル > SQL クエリで特定の値を持つ行に優先順位を付けるにはどうすればよいですか?

SQL クエリで特定の値を持つ行に優先順位を付けるにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-05 05:01:09
オリジナル
764 人が閲覧しました

How to Prioritize Rows with a Specific Value in SQL Queries?

特定の値を持つ行を最初に返す

アルファベット順を維持しながら、特定の列の値に基づいて行の優先順位を付けるようにクエリを変更する必要があります残りの行については。

達成するにはこれ:

SQL Server、Oracle、DB2、その他

次の構文を使用します:

ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
ログイン後にコピー

このコード内:

  • CASE ステートメントは優先度を作成します列:

    • 都市が「ニューヨーク」に等しい場合、優先度は 1 です。
    • それ以外の場合、優先度は 2 です。
  • 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート