gpt4 book ai didi

MySQL加入一张表

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:44 26 4
gpt4 key购买 nike

我有一个类似(简称)的用户表:

id (BIGINT)
username (VARCHAR)
recommendedByUserId (BIGINT)

recommendedByUserId 中存储了推荐者的 ID,这是推荐者的 users.id 值。

现在我需要知道每个 users.idusers.recommendedByUserId 中出现了多少次,然后按降序排列,因此推荐最多的用户排在最前面结果。

我试过:

SELECT u.username, COUNT(r.id) FROM users u INNER JOIN users r ON u.id = r.recommendedByUserId

但这不起作用。

最佳答案

如果 id 足够

SELECT recommendedByUserId, COUNT(*) as rec_cnt
FROM users u
group by recommendedByUserId
order by rec_cnt desc

如果你还需要名字那么你可以这样做

select u.username, x.rec_cnt 
from users u
inner join
(
SELECT recommendedByUserId as id, COUNT(*) as rec_cnt
FROM users u
group by recommendedByUserId
) x on x.id = u.id
order by x.rec_cnt desc

关于MySQL加入一张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825969/

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