0

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

这是我的查询

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

其结果是(1人访问2次+1人访问2次+1人访问1次)

Count
2
2
1

我想要一个结果(2 人访问 2 次 + 1 人访问 1 次)

Count
2
1
4

3 回答 3

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`
于 2012-09-26T07:18:08.317 回答
1

尝试这个:

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 演示

于 2012-09-26T07:18:44.503 回答
0

尝试这个:

SELECT DISTINCT VisitsCount
FROM
(
    SELECT COUNT(*) AS VisitsCount
    FROM TableName
    GROUP BY UserId
) T
于 2012-09-26T07:17:09.887 回答