SQL SELECT MAX COUNT

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)

提前致谢!

Tar*_*ryn 7

您没有指定您正在使用的数据库,但您应该能够使用以下内容:

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的反引号或数据库用于转义保留字的任何字符来转义列名.我的建议是避免对列名和表名使用保留字.