Menu
CoddyTech

回顾:生物

本课属于 Coddy SQL 学习旅程的“基础知识”单元。第 70 课,共 72 课。

challenge icon

挑战

中等

可用的表和列:

  • creatures:creature_name、preference、has_legs

在这个挑战中,有一些生物想要寻找伴侣。我们需要帮助它们找到合适的对象。

每个生物都有一个偏好值,并且有腿或没有腿。

规则:

  • 生物只能和 has_legs 值相同的其他生物配对
  • 在每个组(has_legs 为 true/false)内,按偏好值对生物排序
  • 使用 NTILE(total_creature_count/2) 分配 couple_matcher 编号
  • 两个组都从 1 开始编号(较小的组只会填入较少的桶)

示例:总共有 10 个生物(6 个有腿,4 个没有腿)

  • 有腿的生物:按偏好值排序,分配 couple_matcher 1-5
  • 没有腿的生物:按偏好值排序,分配 couple_matcher 1-4
  • 结果:多个独立的配对可以有相同的 couple_matcher 编号

返回 creature_name 和 couple_matcher,先按 couple_matcher 排序,再按 creature_name 排序。

亲手试试

基础知识中的所有课

自己练习: SQL 在线编辑器