Mysql查询有助于从表区域获取用户数

时间:2017-02-09 08:18:30

标签: php mysql

我有一张表有一些报告信息。在该表中,我有useridareaname

现在我的要求是根据区域

获取用户列表的计数

例如表格将有

userid | areaname
-----------------
1       |area 1
1      |area 1
2      |area2
2      |area 2
2      |area2
3      |area1
3      |area1
4      |area3
5      |area2
---------------

结果必须是

area1 2users
area2 2users
area3 1user

实现这个的mysql查询是什么?

4 个答案:

答案 0 :(得分:2)

使用聚合函数COUNT()获取用户数,GROUP BY根据areaname获取计数 使用DISTINCT获取唯一值

 SELECT COUNT(DISTINCT userid),areaname FROM tablename GROUP BY areaname;

答案 1 :(得分:0)

我知道,你可以很好地获得参赛作品:

所以我会做一个子选择

SELECT sum(partly_sum), area 
       FROM (
           SELECT 
               userid, area , count(*) as partly_sum 
                  FROM 
                      _YOUR_TABLE_NAME_ 
                  WHERE 1 
                  GROUP BY area, userid
             ) as a_bad_sub_query 
       WHERE 1 
       GROUP BY area

此致

答案 2 :(得分:0)

SELECT count(userid),area FROM YOURTABLENAME GROUP BY area; 

答案 3 :(得分:0)

您可以使用distinct来避免欺骗条目

SELECT COUNT(DISTINCT userid),areaname FROM tablename GROUP BY areaname