这个问题在堆栈溢出之前多次询问过。我尝试了所有解决方案,但没有一个能帮助。
我的查询是: -
SELECT COUNT(*) FROM
table_campaign_referralmail t1
INNER JOIN table_user_information t2 ON t1.refferal_id=t2.user_id
GROUP BY t1.refferal_id
返回空结果
t1为空,t2有一些记录
尝试查询和结果
SELECT CASE WHEN COUNT(*) IS NULL THEN '0' ELSE COUNT(*) END
FROM table_campaign_referralmail t1 INNER JOIN table_user_information t2 ON
t1.refferal_id=t2.user_id GROUP BY t1.refferal_id
返回空结果
COALESCE(count(*),0)
计数瞬间(*)
返回空结果
COUNT(t1.*)
计数瞬间(*)
返回错误结果
修改的
t2有用户的基本信息。 t1是推荐表。因此,它有用户数 推荐的朋友。所以它可能会多次出现。 像
refferal_id friend_id
1 2
1 3
所以,我想显示每个用户的推荐数量
喜欢
user_id number of referal
1 2
这就是我在做的事情。
请告诉我谢谢
答案 0 :(得分:0)
“t1为空,t2有一些记录”当然它会返回空,因为你正在做INNER JOIN
。如果没有任何记录,您如何计算按t1
分组的refferal_id
条记录?
告诉我们您想要做什么,我们可能会想出一个重新安排的查询来完成您想要做的事情。
答案 1 :(得分:0)
这将为您提供每位用户的推介数量:
SELECT COUNT(t1.refferal_id)
FROM table_user_information t2
LEFT JOIN table_campaign_referralmail t1 ON t1.refferal_id=t2.user_id
GROUP BY t2.user_id