灯具表
uid home_uid away_uid winner date season_division_uid
1 26 6 6 2013-07-30 18
2 8 21 8 2013-06-30 18
3 6 8 8 2013-06-29 18
4 21 26 21 2013-05-20 18
5 6 26 6 2013-04-19 18
此表包含数百行。
目前我有一个查询选择分区中的所有球队,即
SELECT team_uid
FROM Season_Division_Team
WHERE season_division_uid='18'
现在,对于每个独特的团队ID,我想返回他们参与的最后3个获胜者值,按日期列排序(他们可能是一个away_uid或home_uid)。
因此返回的值示例为:
team_id winner date
6 6 2013-07-30
6 8 2013-06-29
6 26 2013-04-19
26 6 2013-07-30
26 21 2013-05-20
26 6 2013-04-19
有什么想法吗?谢谢
答案 0 :(得分:0)
我不知道如何直接获取它,像
这样的查询select * from Season_division_Team where
`date >= (select min(`date`) from
(select `date` from season_division_team order by date desc limit 3))
and (home_uid = 6 or away_uid = 6)
这不是一个好的查询。但只有我能想到的方式
很难从SQL Example获得第三大值
子查询试图获取最后一次胜利的日期,然后获取团队所在的日期之后的所有日期。
编辑:
SELECT * FROM Season_Division_Team WHERE winner = 6 ORDER BY `date` DESC LIMIT 3
听起来更像是你的后一条评论