开发者

MySQL: Group By & Count Multiple Fields

开发者 https://www.devze.com 2023-02-17 01:12 出处:网络
If I have a single field, say, project_id where I want to count the occurrences, I would do something like:

If I have a single field, say, project_id where I want to count the occurrences, I would do something like:

select project_id, count(project_id) as count from tbl group by project_id, order by count desc

What if I want to count the occurrences of a combination of two fields in the same table, i.e. count the number of rows where the combination of project_id and service_id are unique?

So, so I have records in my table like:

project_id   service_id
1            1
1            2
1            2
1            2
1            2
1            3
1            4
1            4
1            4


I would want the result of my query to be something like:

project_id   service_id   count
1            1            1
1            2            4
1  开发者_Go百科          3            1
1            4            3


select project_id, service_id, count(*) as count 
from tbl group by project_id, service_id
order by count(*) desc

Just add service_id to your group by and select list. That should do it.

EDIT -

As per comment from @Rajah it seems that for your expected output, you need to use

order by project_id asc, service_id asc
0

精彩评论

暂无评论...
验证码 换一张
取 消