我有一个问题,比如我想写一个sql查询来找出比这个特定的人至少有4个阶段(总共21个阶段)有更好时间的人。时间以秒为单位存储。即我必须将一组人的时间与特定的人时间进行比较,如果他们在至少4个阶段中更快,那么他们的名字就会显示出来。
答案 0 :(得分:0)
我不知道具体的架构所以我只能根据你所描述的内容。以下是架构和查询的一个非常基本的示例:http://sqlfiddle.com/#!2/717356/5
查询本身应如下所示:
select t.user_id, count(*) as better_stages from timings t
join timings base on (base.stage = t.stage and not t.user_id = base.user_id)
where base.user_id = 1 and base.timing > t.timing
group by user_id
having better_stages >= 4;
这应该可以更改为使用您的架构。加入用户表或其他需要调整的地方。