关于竞争对手和排名的 SQL 查询

时间:2021-03-19 03:03:57

标签: sql postgresql

我真的不知道有什么好标题,欢迎提出建议。

我有两张表,一张是竞争对手的表,一张是三栏的表

  • 活动
  • 竞争对手
  • placeing - 一个数字,代表他们在给定事件中获得的位置

我的目标是,在给定一组排名的情况下,返回在任何赛事中至少获得该排名一次的所有参赛者。

因此,例如,我可能想查看所有在 something 中排名第一或第二的竞争对手。

1 个答案:

答案 0 :(得分:0)

不确定您的表是如何定义的 但是可以试试这个sql

SELECT 
        c.id, 
        e.event, 
        e.placing
FROM competitor_table c
LEFT JOIN event_table e 
       ON e.competitor_id = c.id
WHERE e.placing in (placings_set)
 GROUP BY c.id,e.event, e.placing