Ôn tập: Sinh vật
Thuộc phần Kiến thức cơ bản trong hành trình SQL của Coddy. Bài học 70 trên 72.
Thử thách
Trung bìnhCác bảng và cột hiện có:
creatures:creature_name,preference,has_legs
Trong thử thách này, các sinh vật muốn tìm bạn đời. Chúng ta cần giúp chúng tìm được đối tượng phù hợp.
Mỗi sinh vật có một giá trị sở thích và có hoặc không có chân.
Quy tắc:
- Sinh vật CHỈ ghép đôi với những sinh vật khác có cùng giá trị
has_legs - Trong mỗi nhóm (
has_legslà true/false), sắp xếp các sinh vật theo sở thích - Gán số
couple_matcherbằngNTILE(total_creature_count/2) - Cả hai nhóm đều được đánh số bắt đầu từ 1 (nhóm nhỏ hơn chỉ lấp đầy ít nhóm hơn)
Ví dụ: tổng cộng 10 sinh vật (6 con có chân, 4 con không có chân)
- Các sinh vật có chân: xếp hạng theo sở thích, được gán
couple_matchertừ 1 đến 5 - Các sinh vật không có chân: xếp hạng theo sở thích, được gán
couple_matchertừ 1 đến 4 - Kết quả: Nhiều cặp riêng biệt có thể có cùng số
couple_matcher
Trả về creature_name và couple_matcher, sắp xếp theo couple_matcher, sau đó theo creature_name.
Tự làm thử
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ị logic3Đị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