我需要帮助的第一个查询-我有一个名为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谢谢!
发布于 2012-12-03 04:50:34
您可能想要使用:
MAX(count(Date))发布于 2012-12-03 05:14:27
这个丑陋的野兽(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
;https://stackoverflow.com/questions/13673689
复制相似问题