我有一张像这样的表users
:
id user refid
1 a null
2 b 1
3 c 1
4 d 2
5 f 3
我需要选择用户,按refid分组以及每个用户的每个refid的计数。例如,
id user count
1 a 2
2 b 1
3 c 1
这就是我的尝试:
SELECT user, refid, count(*) cnt FROM `users` group by refid
但是,这给了我每个值的错误用户。如何为每个值获取正确的用户?
答案 0 :(得分:1)
您需要按用户分组并重新安装
SELECT user, refid, count(*) cnt FROM `mlm_users` group by user,redid
答案 1 :(得分:1)
我想这就是你要找的东西。基本上,你错过了那里的联接。
select u1.id, u1.user, count(u1.id) cnt from mlm_users u1
join mlm_users u2 on u1.id = u2.refid
group by u1.id, u1.user
这将返回id,user和每个引用的引用数量(仅适用于至少有一个引用的引用)。