按计数分组不起作用Mysql Php

时间:2019-03-30 08:00:06

标签: php mysql

我有两个表“ employer”和“ user”,我想获取总用户(根据国家/地区),其中“ skills”和“ entity”列 将两个表都匹配(如查询)

表老板

id        skills        entity
1         Php,Design    web

表用户

id       skills                     entity          country
33       programming,php            web             india
44       Graphic designing,php      design          canada
45       Php                        web             india       
46       Dot net                    test            Sri Lanka

现在我想得到类似的结果

id      Count       country 
1       2           india
2       1           canada

我正在尝试以下查询,但对我不起作用,我错了吗?

SELECT employer_info.id as employer_id,users_info.country,COUNT(users_info.country) as total 
   FROM employer_info 
   JOIN users_info ON employer_info.skills=users_info.skills 
   GROUP BY users_info.country

2 个答案:

答案 0 :(得分:0)

如果要按雇主计算一个国家/地区的用户数,则应该计算用户ID的数目,而不是国家/地区。

对于GROUP BY,此操作应在未汇总的字段上完成,这些字段是owner_info.id和users_info.country

SELECT employer_info.id as employer_id,users_info.country,
           COUNT(users_info.id) as total 
       FROM employer_info 
       JOIN users_info 
             ON employer_info.skills=users_info.skills 
       GROUP BY employer_info.id, users_info.country

答案 1 :(得分:0)

尝试这个:

SELECT A.id as employer_id,B.country,COUNT(B.country) as total FROM employer_info A JOIN users_info B ON A.skills=B.skills AND A.entity=B.entity GROUP BY A.id, B.country