我在表中有三列:id,街道名称,计数。对于某些ID,不只是一个街道名称。Count告诉将每条街道分配给ID的频率。我怎样才能只获得编号最高的ID和街道名称。
表格示例:
id streetname count 1 street1 80 1 street2 60 1 street3 5 2 street4 10 2 street5 6
结果应该是这样的:
id streetname 1 street1 2 street4
提前致谢!
您没有指定正在使用的数据库,但是应该可以使用以下数据库:
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
请参阅带有演示的SQL Fiddle。注意,您将必须count使用MySQL的反引号或数据库使用的任何字符来转义保留字来转义列名。我的建议是避免对列和表名使用保留字。
count