小编典典

SQL选择最大数量

sql

我在表中有三列: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

提前致谢!


阅读 248

收藏
2021-03-23

共1个答案

小编典典

您没有指定正在使用的数据库,但是应该可以使用以下数据库:

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

2021-03-23