繁体   English   中英

计算每个用户的总会员数

[英]Calculate total affiliated count per user

在此处输入图片说明 我一直在寻找一个简单的SQL查询来解决一个非常简单的问题。 我一直在进行一个非常简单的社交共享活动,我们有一个包含2个字段的mysql数据库:email和AffiliateID

SELECT
users.Email, users.ID,
users.AffiliateID,
Count(users.AffiliateID) as afid
from users
order by afid desc

当我运行此查询时,它仅返回1条记录,其中正确的计数仅是最高计数。

我想要的是一个按数据库中“ affiliateID”记录最多的人排序的所有用户的列表。

这将告诉我们谁在共享竞赛中获得一等奖。

这里有一些类似的问题,但是这些解决方案似乎不适用于这种情况。

我想要的是系统中所有用户的降级输出,由其父母(赞助商)排名,因此我们可以构建类似于“排行榜”的东西

按计数分组和总计数

MySQL:按查询分组统计总数

谢谢您的帮助!

这是更新的查询

select u.Email, AffiliateID, count(u.AffiliateID) as afid
from users u
where SiteID=17
group by u.Email
order by afid desc 

这将生成上面的图像...

但这不是我所需要的。 我需要的是509218用户首先显示,然后是他所推荐的用户数,然后是下一个用户5dd ..然后是第三名和第四名,分别是471和472。

您应该添加group by (以获取每个用户的结果)子句:

select u.AffiliateID, count(u.Email) as afid
from users u
group by u.AffiliateID
order by afid desc

如果您从您需要更多的数据users表中可以join下面的查询与结果users表:

select u.ID, u.Email, t.afid
from users u
join (
  select AffiliateID, count(ID) as afid
  from users
  group by AffiliateID
) t on u.ID = t.AffiliateID
order by t.afid desc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM