use*_*421 4 sql select count max
我在表格中有三列:id,streetname,count.对某些ids来说,不止是一个街道名称.Count表示将相应街道分配给id的频率.我怎样才能获得具有最高计数的id和streetname.
示例表:
id streetname count
1 street1 80
1 street2 60
1 street3 5
2 street4 10
2 street5 6
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的:
id streetname
1 street1
2 street4
Run Code Online (Sandbox Code Playgroud)
提前致谢!
您没有指定您正在使用的数据库,但您应该能够使用以下内容:
select t1.id, t1.streetname, t1.count
from yourtable t1
inner join
(
select id, max(count) max_count
from yourtable
group by id
) t2
on t1.id = t2.id
and t1.count = t2.max_count
Run Code Online (Sandbox Code Playgroud)
请参阅SQL Fiddle with Demo.注意,您必须count使用MySQL的反引号或数据库用于转义保留字的任何字符来转义列名.我的建议是避免对列名和表名使用保留字.