MySQL でデータを並べ替える方法

WBOY
リリース: 2023-05-30 22:10:57
転載
5186 人が閲覧しました

1. ソートの基本的な使用法

  1. データをクエリするときに、ソート操作が使用されない場合、デフォルトでは、SQL はタプルが追加された順序でクエリ結果を並べ替えます。

  2. SQL で並べ替え操作を実行するには、キーワード ORDER BY... を使用できます。このキーワードの後に​​、昇順 (小さいものから大きいものへ) を示すキーワード ASC (昇順) を追加し、降順 (大きいものから小さいものへ) を示すキーワード DESC (降順) を追加できます。

  3. 昇順または降順を示すために ORDER BY... キーワードの後に​​ ASC または DESC が追加されていない場合、SQL はデフォルトで ASC 昇順になります。次のコードに示すように:

SELECT employee_id, last_name, salary
FROM employees
ORDER BY salary;
ログイン後にコピー

クエリ結果:

MySQL でデータを並べ替える方法

##[例 1] 従業員テーブル

employees## をクエリします。 # 従業員の employee_idlast_namesalary、および Department_id の情報。そして、salary で最大値から最小値 (降順) に並べ替えます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:sql;">SELECT employee_id, last_name, salary FROM employees ORDER BY salary DESC;</pre><div class="contentsignin">ログイン後にコピー</div></div> クエリ結果:

MySQL でデータを並べ替える方法2. 列の別名を使用して並べ替える

SQL では、フィールド (列) の別名を使用できます。並べ替える。テーブルにないフィールド (年収

annual_salary

など) を計算する必要がある場合や、一部のフィールド名が非常に長すぎる場合があるため、短いエイリアスを使用するとプログラミングの効率が向上します。次の例に示すように: [例] 従業員テーブル # の従業員の

employee_id

last_name、月給 salary# をクエリします。 ##従業員 ##と年収annual_salaryの情報。そして、annual_salary で最大値から最小値 (降順) に並べ替えられます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:sql;">SELECT employee_id, last_name, salary, salary * (1 + IFNULL(commission_pct, 0) * 12) AS &quot;annual_salary&quot; FROM employees ORDER BY annual_salary DESC;</pre><div class="contentsignin">ログイン後にコピー</div></div> クエリ結果:

[注]

MySQL でデータを並べ替える方法

形式要件、

WHERE
  • FROM

    の後に宣言する必要があります。 列の別名は

    ORDER BY...
  • でのみ使用でき、
  • WHERE

    では使用できません。 **WHERE で列の別名を使用すると、SQL はエラーを報告します。では、なぜ MySQL の列エイリアスを WHERE で使用できないのでしょうか?理由は以下のとおりです。 【原因】

    SELECT employee_id, last_name, department_id
    FROM employees
    WHERE department_id IN(50, 60, 70)
    ORDER BY department_id DESC;
    ログイン後にコピー

SQL において、クエリ文の実行順序が上記のコードに従っていません。上から順に1行目から1行目までの4行です。代わりに、最初に行 2 FROM... を実行し、最初にクエリ対象のテーブルを見つけます。

  • 3 行目 WHERE... を実行して、条件を満たすタプルをフィルタリングします。

  • 次に、行 1 SELECT... を実行して、クエリするフィールドを表示します。列エイリアスはこのステップでのみ生成されるため、それが提供する WHERE ステートメントは前のステップでは使用できません。ただし、ORDER BY の次のステップでは使用できます。

  • 最後に、4 行目は ORDER BY... で、特定の列でソートされています。現時点では、並べ替えに列のエイリアスを使用できます。

  • クエリ結果:

3. 第 2 レベルの並べ替え

MySQL でデータを並べ替える方法実際には、並べ替えが必要になる場合があります。 1 つのフィールドごとに、次に別のフィールドごとに。 SQL では、二次ソートを使用してこれを実現できます。使用例については、次の例を参照してください。

[例 1] 従業員テーブル

employees の従業員の従業員 ID

employee_id

、名前

last_name をクエリします。 、月給 salary、部門 ID Department_id。そして、まず部門 ID Department_id で降順に並べ替え、次に salary で大きいものから小さいもの (降順) に並べ替えます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:sql;">SELECT employee_id, last_name, salary, department_id FROM employees ORDER BY department_id DESC, salary DESC;</pre><div class="contentsignin">ログイン後にコピー</div></div> クエリ結果: <code>

## など。

ORDER BY

の後にカンマを追加すると、レベル 3 とレベル 4 を実現できます&hellip ;選別。 MySQL でデータを並べ替える方法

以上がMySQL でデータを並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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