0

ヘルプが必要な最初のクエリ - さまざまなスタジアムに関する情報を保持するスタジアムという名前のテーブルがあります。特定のスタジアムで 1 日に複数のゲームをプレイできます。Stadium.Number はスタジアムの番号を示し、Stadium.Date は試合の日付を示します。最も多くの試合が開催された日付である、Stadium.Number ごとに一覧表示するクエリを作成する必要があります。特定のスタジアムに同じ試合数の 2 つの日付がある場合、両方を表示する必要があります。

たとえば、以下のデータを使用します。

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

ありがとう!

4

2 に答える 2

0

おそらく使用したいでしょう:

 MAX(count(Date))
于 2012-12-02T20:50:34.147 に答える
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
;
于 2012-12-02T21:14:26.597 に答える