Selecting the most common value from relation - SQL statement

后端 未结 3 1623
无人及你
无人及你 2020-12-30 08:24

I have a table within my database that has many records, some records share the same value for one of the columns. e.g.

|  id  |  name  |  software  |
______         


        
3条回答
  •  一个人的身影
    2020-12-30 09:13

    It depends if you want to use standard SQL or vendor specific extensions (another poster has a "top N" query which is not standard). A standard solution would be.

    SELECT software, COUNT(1) 
    FROM tablename
    GROUP BY software
    HAVING COUNT(1) = (
      SELECT MAX(sc) FROM (
        SELECT software, COUNT(1) sc
        FROM tablename
        GROUP BY software
      )
    )
    

    Note: this may return multiple rows if several pieces of software are tied for the most occurrences.

提交回复
热议问题