以下のようなテーブルがあるとします。
+--------+------------+------------+-----------+--------+------------+
| emp_no | birth_date | first_name | last_name | gender | hire_date |
+--------+------------+------------+-----------+--------+------------+
| 10001 | 1953-09-02 | Georgi | Facello | M | 1986-06-26 |
| 10002 | 1964-06-02 | Bezalel | Simmel | F | 1985-11-21 |
| 10005 | 1955-01-21 | Kyoichi | Maliniak | M | 1989-09-12 |
| 10006 | 1953-04-20 | Anneke | Preusig | F | 1989-06-02 |
+--------+------------+------------+-----------+--------+------------+
以下のようなSQLを流すと、
select
first_name,
row_number() over(order by first_name asc) as rnt
from
employees ;
こんな風に、まとめてくれました。
+------------+-----+
| first_name | rnt |
+------------+-----+
| Anneke | 1 |
| Bezalel | 2 |
| Georgi | 3 |
| Kyoichi | 4 |
+------------+-----+
ROW_NUMBER() OVER()
は、SQL Serverで使用できるウィンドウ関数の1つで、行の番号を割り当てるために使用されます。
コメント