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

SQLで特定の値を持つ行に優先順位を付けてアルファベット順に並べ替えるにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-01 03:07:09
オリジナル
557 人が閲覧しました

How to Prioritize Rows with a Specific Value Then Sort Alphabetically in SQL?

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

問題:

データを取得したいと考えていますテーブルから取得し、特定の列に特定の値を含む行を優先します。残りの行は、別の列に基づいてアルファベット順に続く必要があります。

次の構造を持つテーブルの例を考えてみましょう:

id name city
1 George Seattle
2 Sam Miami
3 John New York
4 Amy New York
5 Eric Chicago
6 Nick New York

解決策:

特定の値に基づいて行に優先順位を付け、残りの行をアルファベット順に並べるには、次のコマンドを使用します。クエリ:

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

説明:

CASE 式は、都市列が指定された値 ('ニューヨーク') と一致する行に優先順位値 1 を割り当てます。他のすべての行には優先順位値 2 が設定されます。これにより、「New York」を含む行が結果セットの最初に表示されるようになります。

ORDER BY 句の 2 番目の部分である city は、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 までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート