Selecting the most common value from relation - SQL statement

Ronnie picture Ronnie · Apr 6, 2010 · Viewed 20.4k times · Source

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  |
______________________________
|  1   |  john  |  photoshop |
|  2   |  paul  |  photoshop |
|  3   |  gary  |  textmate  |
|  4   |  ade   |  fireworks |
|  5   |  fred  |  textmate  |
|  6   |  bob   |  photoshop |

I would like to return the value of the most common occurring piece of software, by using an SQL statement.

So in the example above the required SQL statement would return 'photoshop' as it occurs more than any other piece of software.

Is this possible?

Thank you for your time.

Answer

Carl Manaster picture Carl Manaster · Apr 6, 2010
select top 1 software 
from your_table 
group by software
order by count(*) desc