所以我有下表:
userid | name | referralcode
当用户在网站上注册时,他们会将其他人的推荐代码(推荐代码与其他人的用户ID相同)
所以我正在寻找一个输出类似
的SQL查询20(这意味着20个用户的推荐代码上有此用户ID),Gerardo Bastidas,Valencia
10,胡安巴斯蒂达斯,瓦伦西亚我想获得有关用户的所有信息。它们都位于同一张桌子里。
答案 0 :(得分:0)
尝试此查询:
Produk A
- spek 1
- spek 2
- spek 3
- spek 4
Produk B
- spek 1
- spek 2
produk C
此查询执行自我加入,并会列出每个用户以及他SELECT yt1.*, COALESCE(yt2.referral_count, 0)
FROM yourtable yt1 LEFT JOIN
(
SELECT t1.userid, COUNT(*) AS referral_count
FROM yourtable t1 INNER JOIN yourtable t2
ON t1.userid = t2.referralcode
GROUP BY t1.userid
) yt2
ON yt1.userid = yt2.userid;
出现的推荐代码的数量。
答案 1 :(得分:0)
此代码将在一个查询中完成工作。用'tbName'替换你的表名 经过测试和工作
SELECT countval, userid, email, address
FROM tbName t1 LEFT JOIN
(
SELECT COUNT(t2.userid) ASs countval, tt.userid AS xx
FROM tbName t2
GROUP BY t2.referralcode
) t3
ON t3.xx = t1.userid
<强>输出:强>
+-------+-----+------+
| count | uid | name |
+-------+-----+------+
| 3 | 1 | abc |
| 2 | 2 | xyz |
| 5 | 3 | kmn |
+-------+-----+------+