gpt4 book ai didi

sql - 带类别的热门用户 SQL 查询?

转载 作者:可可西里 更新时间:2023-11-01 08:38:08 24 4
gpt4 key购买 nike

我正在尝试找出如何使用 mysql 查询获取每个类别中的顶级用户:我的用户表如下所示:

user_id,category_id ...和一些其他的东西

我的投票表如下所示(每一行都是一票赞成票):reciever_id ...和其他一些东西

我在想我需要先像这样通过 user_id 确定独特的投票:

reciever_id, votes
1 2
2 6

然后我可以按票数排序......然后选择 users.whatever,distinct(category_id) from users, (that query) WHERE users_id=that_queries_user.id

无论如何,对于如何编写此查询,我显然真的很困惑,我们将不胜感激任何帮助。

最佳答案

这将返回前 10 个用户:

SELECT  u.*,
(
SELECT COUNT(*)
FROM votes v
WHERE v.receiver_id = u.user_id
) AS score
FROM users u
ORDER BY
score DESC
LIMIT 10

这将为您返回每个类别的一位顶级用户:

SELECT  u.*
FROM (
SELECT DISTINCT category_id
FROM users
) uo
JOIN users u
ON u.user_id =
(
SELECT user_id
FROM users ui
WHERE ui.category_id = uo.category_id
ORDER BY
(
SELECT COUNT(*)
FROM votes v
WHERE v.receiver_id = ui.user_id
) DESC
LIMIT 1
)

关于sql - 带类别的热门用户 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3502478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com