25 の高度な SQL クエリ - 結果セットの最後の 5 行をリストする

 このコラムの例の多くは、次の従業員テーブル (従業員) に基づいています。他の表に基づいた例はほんのわずかです。その場合、例とともに表を示します。

1. と

サブクエリ部分とも呼ばれる WITH AS 句は、SQL フラグメントを定義した後、その SQL フラグメントを SQL ステートメント全体で使用できるようになります。場合によっては、SQL ステートメントの読みやすさを向上させ、ネストの冗長性を減らすために with as が使用されます。

2、SQL例文

このクエリは前のレッスンの最初の 5 クエリに似ていますが、最後の 5 行が必要です。ソートタイプを変更する必要があるだけです。つまり、DESC の代わりに ASC を使用します。CTE では、給与の昇順 (給与の低い順) に基づいてランク列を作成します。

WITH employee_ranking AS (
  SELECT
    employee_id,
    last_name,
    first_name,
    salary,
    RANK() OVER (ORDER BY salary ASC) as ranking
  FROM employee
)
SELECT
  employee_id,
  last_name,
  first_name,
  salary
FROM employee_ranking
WHERE ranking <= 5
ORDER BY ranking

メイン クエリでは、WHERE ランキング<=5 を使用して、給与が最も低い 5 行をフィルタリングします。その後、ORDER BY ランクを使用して、レポートされた行をランク値で並べ替えます。

3. クエリ結果

おすすめ

転載: blog.csdn.net/wyxtx/article/details/131849804