1

私はこのテーブルを持っています:

id | day | count
----------------
 u   tue   1
 u   wed   4
 w   wed   5
 x   mon   5
 y   mon   5
 x   tue   2

毎日最もカウントの多い行を返したい。だから私はこのテーブルを取得したい:

id | day | count
----------------
 w   wed   5
 x   mon   5
 y   mon   5
 x   tue   2

これが私のSQLですが、正しい出力が得られません。

select id, day, MAX(count)
from Table
group by day

それは私に与えています:

id | day | count
----------------
 w   wed   5
 y   mon   5
 x   tue   2
4

2 に答える 2

4

サブクエリを使用できます:

select * from table 
  join (select day,max(count) as count from table group by day) as max_rec
    on table.day = max_rec.day and table.count = max_rec.count

sqlFiddle

于 2012-10-17T22:55:10.037 に答える
2
select t1.* from
Table t1
JOIN
(
select day, max(count) count
from Table
group by day
)t2 ON t1.day=t2.day AND t1.count=t2.count
于 2012-10-17T22:56:17.320 に答える