PARTITION và ORDER
Thuộc phần Kiến thức cơ bản trong hành trình SQL của Coddy. Bài học 60 trên 72.
Ta cũng có thể kết hợp PARTITION BY với ORDER BY. Ví dụ, hãy xem table1 sau:
| id | type |
| 132 | t1 |
| 52 | t2 |
| 92 | t1 |
| 154 | t3 |
| 198 | t1 |
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Thao tác này sẽ đánh số các hàng theo thứ tự tăng dần dựa trên id của từng loại:
| id | type | row_num |
| 132 | t1 | 2 |
| 52 | t2 | 1 |
| 92 | t1 | 1 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
Giờ đây, id 132 có row_num là 2 vì nó lớn hơn 92 và nhỏ hơn 198 (trong số tất cả các hàng kiểu t1).
Thử thách
DễCác bảng và cột hiện có:
doors:id,publication_yeardoors_specs:id,country,color
Viết một truy vấn SQL để phân tích thứ tự màu sắc của cửa trong từng quốc gia, được sắp xếp theo năm xuất bản. Với mỗi không gian cửa, hãy hiển thị:
- Quốc gia
- Màu sắc
- Năm xuất bản
- Một số thể hiện thứ tự màu sắc trong từng quốc gia dựa trên năm xuất bản. Đặt tên cột này là
color_sequence_number
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
2Điều kiện
Kiến thức cơ bản về điều kiệnTừ khóa ANDTừ khóa ORTừ khóa NOTKết hợp nhiều điều kiệnDấu ngoặc đơnGiá trị logic8Thống kê
Hàm tổng hợp tích hợp sẵn phần 1Hàm tổng hợp tích hợp sẵn phần 2Nhóm dữ liệu phần 1Nhóm dữ liệu phần 2Truy vấn con phần 1Truy vấn con phần 2Ôn tập: cửa hàng Total GainÔn tập: cửa hàng xe tay gaÔn tập: quán cà phê11Hàm cửa sổ, phần 1
Hàm ROW_NUMBERTiêu chí ORDER BYTiêu chí PARTITION BYPARTITION và ORDERCác hàm LEAD và LAGÔn tập: LEAD và LAGÔn tập: hình ảnhÔn tập: hộp3Định dạng giá trị trả về cụ thể
Giá trị nullSắp xếp kết quả phần 1Sắp xếp kết quả phần 2Ôn tập: Công ty an ninh mạngGiới hạn số bản ghiÔn tập: Nhà máy sản xuất xe6Thử thách nhập môn
Ôn tập: bầu cử quốc hộiÔn tập: cảnh sát bắt giữ tội phạmÔn tập: vật chứa đồ uống tại quầy barÔn tập: kỹ sư tạo cột mớiTự luyện tập: Playground SQL