简体   繁体   English

在MySql中按组计算唯一记录

[英]Count Unique record by Group in MySql

这是我的数据库表,我想统计用户的唯一访问次数,例如5次访问5次,20次访问7次等

Here is my Query 这是我的查询

SELECT count(*) as count 
FROM `tbl_track` 
GROUP BY `user_id`

Its Result is (1 person visit 2times + 1 person visit 2times + 1 person visit 1time) 结果是(1人访问2次+ 1人访问2次+ 1人访问1次)

Count
2
2
1

I want a result (2 person visit 2times + 1 person visit 1time) 我想要一个结果(2人访问2次+ 1人访问1次)

Count
2
1
SELECT count(*) as `count`, `visit_times` 
FROM (
  SELECT count(*) as `visit_times` 
  FROM `tbl_track` 
  GROUP BY `user_id`
) AS t GROUP BY `visit_times`

try this: 尝试这个:

select cnt as user_count,COUNT(*) as count
from
(
SELECT   COUNT(*) as cnt 
FROM tbl_track 
GROUP BY userid)a
group by cnt


SQL Fiddle demo SQL小提琴演示

Try this: 尝试这个:

SELECT DISTINCT VisitsCount
FROM
(
    SELECT COUNT(*) AS VisitsCount
    FROM TableName
    GROUP BY UserId
) T

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM