我试图让每个用户的平均喜欢计数,其中偏移量尽可能接近我设置的值(但仍然会打破该值)。
select id, max(likes), user_id
from lookups
where offset < 30
group by media_id;
上面的查询将返回如下内容:
id likes user_id
1 2 1
2 7 1
3 6 1
4 9 2
5 5 2
6 5 2
7 2 3
8 3 3
我想将此转换为每个用户的平均喜欢,而不计算上述查询不会返回的行,因此结果将是:
average_likes user_id
5 1
6.333 2
2.5 3
我如何使用sql执行此操作?
答案 0 :(得分:0)
将查询粘贴到子查询中并再次GROUP BY
:
SELECT user_id,
avg(maxlikes)
FROM (
SELECT id,
max(likes) AS maxlikes,
user_id
FROM lookups
WHERE offset < 30
GROUP BY ID, user_idd
) subquery
GROUP BY user_id