私はこのクエリを持っています:
select count(*) from logins group by user_id
これにより、各ユーザーのユーザーログイン番号が返されます。
カウント(*)
10
23
35
54
単一の効率的なクエリで、これの中間値をどのように選択 (計算) できるでしょうか? 中 = (10+23+35+54)/4。
select avg(num_login)
from (select count(*) as num_login
from logins group by user_id) as num_logins
SELECT AVG(c) FROM (SELECT COUNT(*) AS c FROM logins GROUP BY user_id) AS v
これは動作します。
select avg(count(*)) from logins group by user_id
サブクエリを使用AVG
し、サブクエリの結果に対して次のように機能します。
SELECT AVG(logins_cnt) AS logins_cnt
FROM (SELECT COUNT(1) AS logins_cnt
FROM logins
GROUP BY user_id
) a;
平均機能は試しましたか?
select avg(select count(*) from logins group by user_id)