MYSQL5.1查询日期?

时间:2012-12-02 20:48:34

标签: mysql date count

我需要帮助的第一个查询 - 我有一个名为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

谢谢!

2 个答案:

答案 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
;