SQL SELECT MAX COUNT

前端 未结 3 1953
萌比男神i
萌比男神i 2021-01-06 09:27

I have three columns in a table: id, streetname, count. To some ids is more than one streetname assinged. Count tells how often the respective street is assigned to the id.

3条回答
  •  梦谈多话
    2021-01-06 10:31

    You did not specify what database you are using but you should be able to use the following:

    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
    

    See SQL Fiddle with Demo. Note, you will have to escape the count column name using backticks for MySQL or whatever character your database uses to escape reserved words. My suggestion would be to avoid using reserved words for column and table names.

提交回复
热议问题