我需要帮助的第一个查询 - 我有一个名为Stadium的表,其中包含有关不同体育场的信息。每天可以在某个体育场进行多场比赛。 Stadium.Number指体育场的数量,Stadium.Date指游戏的日期。我需要创建一个查询列出每个Stadium.Number,其中包含最多游戏的日期。如果某个体育场有两个具有相同游戏数的日期,则应同时显示它们。
例如,以下数据如下:
Stadium 1, 2012-03-19
Stadium 1, 2012-08-14
Stadium 1, 2012-08-14
Stadium 2, 2012-09-15
Stadium 2, 2012-09-15
Stadium 2, 2012-03-20
Stadium 2, 2012-03-20
Stadium 3, 2012-11-20
查询应返回:
Stadium.Number Busiest Date
Stadium 1, 2012-08-14
Stadium 2, 2012-09-15 (shows this and below
Stadium 2, 2012-03-20 because they both have count 2)
Stadium 3, 2012-11-20
到目前为止,我有以下内容,但它无法正常工作:
SELECT Number, Date, count(Date)
FROM Stadium
group by Number,Date
order by count(Date) desc
谢谢!
答案 0 :(得分:0)
您可能想要使用:
MAX(count(Date))
答案 1 :(得分:0)
这只丑陋的野兽(sql fiddle)是我能想到的第一件事。
select s.number, s.date, s.d
from (
select number, date, count(date) as d
from Stadium
group by number, date
) s, (
select number, date, max(d) m
from (
select number, date, count(date) d
from Stadium
group by number, date
) dates1
group by number
) d2
where s.number = d2.number
and s.d = d2.m
;