我有一个跟踪体育统计数据的MySQL数据库。我正在尝试通过每个赛季的第一场主场比赛进行查询。数据库的设置与此类似:
TABLE 'STATS'
GAMENUMBER | YEAR | MONTH | DAY | OPPONENT | HOMEAWAY | ...
1 | 2010 | 9 | 7 | Yale | A | ...
2 | 2010 | 9 | 14 | Rice | H | ...
3 | 2010 | 9 | 21 | NCSU | H | ...
1 | 2009 | 9 | 7 | Ohio | A | ...
2 | 2009 | 9 | 14 | SUNY | A | ...
3 | 2009 | 9 | 21 | Penn | A | ...
1 | 2008 | 9 | 7 | Iowa | H | ...
...
我认为我需要以某种方式使用YEAR和GAMENUMBER列来查找每年第一个主场比赛的单场比赛。但我无法正确查询!如果它有帮助,将在网站上使用PHP调用此表来显示数据。
非常感谢您的帮助!
答案 0 :(得分:1)
像
一样查询SELECT year, min(GAMENUMBER) FROM stats WHERE(HOMEAWAY = 'H') GROUP BY year
每年会让你第一次回家,但是为了获得剩下的部分,我会尝试
SELECT s.*
FROM stats s
JOIN(SELECT year y, min(GAMENUMBER) gn FROM stats WHERE(HOMEAWAY = 'H')GROUP BY year) q
ON(s.year = q.year)AND(s.GAMENUMBER = q.gn)
答案 1 :(得分:0)
我认为这样做:
SELECT MIN(s.gamenumber),s.year,s.month,s.day,s.homeaway
FROM stats s
WHERE s.homeaway='H'
GROUP BY s.year
让我知道它是否有效,因为我现在无法测试......