こんにちは、私は次の表を持っています。各月の接続の最大数 (カウント (*)) を選択したいと思います。sqlfiddle.com/#!2/13036/1
select * from broadcast
profile, plugged, company, tstamp
1, 2, 1, 2013-10-01 08:20:00
1, 3, 1, 2013-10-01 08:20:00
2, 1, 1, 2013-10-01 08:20:00
2, 3, 1, 2013-10-01 08:20:00
3, 1, 1, 2013-10-01 08:20:00
3, 1, 1, 2013-09-01 08:20:00
したがって、次のようなことをすると:
select plugged,
count(*),
extract(month from tstamp),
extract(year from tstamp)
from broadcast
where company=1
group by plugged,
extract(month from tstamp),
extract(year from tstamp)
order by count(*) desc;
出力:
plugged, count(*), extract(month from tstamp), extract(year from tstamp)
3, 2, 10, 2013
1, 2, 10, 2013
2, 1, 10, 2013
1, 1, 9, 2013
望ましい出力:
plugged, count(*), extract(month from tstamp), extract(year from tstamp)
3, 2, 10, 2013
1, 2, 10, 2013
1, 1, 9, 2013
これは正しい...しかし、私は max(count(*)) のみが必要です(たとえば、この場合は最初の行のみ)。最大数の行が2つあるシナリオがあるかもしれませんが、月/年ごとに最大数の行のみを返したいのですが...内部の選択ステートメントなどが必要ですか?