我创建了一个查询,用于查找某个特定网站的用户,这些用户喜欢网站上的每张照片并脱颖而出成为潜在的机器人。
我正在尝试计算机器人的数量。
我的查询目前返回所有机器人用户名和他们喜欢的照片数量,但我无法简单地计算它们。
能够在下面的查询生成的表上进行 COUNT(*) 是最理想的。
SELECT
username,
COUNT(*) AS total_likes
FROM users
JOIN likes
ON likes.user_id = users.id
GROUP BY likes.user_id
HAVING total_likes = (SELECT COUNT(*) FROM photos);
最佳答案
您可以使用子查询来做到这一点:
SELECT COUNT(*) as num_potential_bots
FROM (SELECT u.username, COUNT(*) AS total_likes
FROM users u JOIN
likes l
ON l.user_id = u.id
GROUP BY l.user_id
HAVING total_likes = (SELECT COUNT(*) FROM photos)
) u;
关于mysql - 如何在生成的查询上使用 MySQL COUNT() 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59632267/