如何在 SQL 中找到 Count 的 AVG

How to find AVG of Count in SQL

这就是我的

select avg(visit_count) from ( SELECT count(user_id) as visit_count from table )group by user_id;

但是我得到以下错误

错误 1248 (42000):每个派生 table 必须有自己的别名

如果我添加别名 然后我只得到一个 user_id

的平均值

我想要的是所有用户 IDvisit_count 的平均值

SEE the picture for reference

示例 3,2.5,1.5

这意味着你的子查询需要有一个别名。

像这样:

select avg(visit_count) from (
  select count(user_id) as visit_count from table
   group by user_id) a

您的子查询缺少别名。我认为这是您想要的版本:

SELECT AVG(visit_count)
FROM
(
    SELECT COUNT(user_id) AS visit_count
    FROM yourTable
    GROUP BY user_id
) t;

请注意,GROUP BY 属于子查询,因为您要查找所有用户的计数。