首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >左加入筛选器加入30天而不是加入30天的推荐

左加入筛选器加入30天而不是加入30天的推荐
EN

Stack Overflow用户
提问于 2015-10-23 11:07:44
回答 1查看 50关注 0票数 1

我有两张桌子

表用户

代码语言:javascript
复制
USER_ID------USERNAME------------REGISTERTIME  
1-----------------admin----------1432985224    
2-----------------test ----------1433985224
3-----------------test2----------1332985224     

表转介

代码语言:javascript
复制
REFERRER_ID----------REFERRAL_ID 
1-----------------------------2
1-----------------------------3

如何在mysql中显示以下内容:

代码语言:javascript
复制
user admin have 2 referrals in last 30 days
user test  have 0 referrals in last 30 days
user test2 have 0 referrals in last 30 days

试过:

代码语言:javascript
复制
SELECT
    users.username,
    COUNT(referrals.user_id) AS referrals
FROM
    users
LEFT JOIN
    referrals ON
    referrals.referral_id = users.user_id
WHERE users.registertime >= UNIX_TIMESTAMP( '2015-10-15' ) AND registertime < UNIX_TIMESTAMP( '2015-10-18' )
GROUP BY
    users.user_id

它所显示的是

只有那些参加了30天并且有推荐的用户,但我需要它来显示所有在过去30天内有新推荐的用户。

错误:(这只显示在过去30天内加入并有推荐的用户)

new user1 have 12 referrals new user2 have 3 referrals new user3 have 2 referrals

正确:(这显示了所有在过去30天内加入推荐的用户)

Old user1 have 52 referrals New user3 have 28 referrals Old user33 have 10 referrals

我希望我解释得很好

EN

回答 1

Stack Overflow用户

发布于 2015-10-23 11:23:39

代码语言:javascript
复制
SELECT
    users.username,
    COUNT(referrals.referrer_id) AS referrals
FROM
    users
LEFT JOIN
    referrals ON
    referrals.referrer_id = users.user_id
WHERE users.registertime >= UNIX_TIMESTAMP( '2015-10-15' ) AND registertime < UNIX_TIMESTAMP( '2015-10-18' )
GROUP BY
    users.user_id
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33300865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档