首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找在注册后特定时间内登录的用户。

查找在注册后特定时间内登录的用户。
EN

Stack Overflow用户
提问于 2018-11-21 09:15:30
回答 1查看 189关注 0票数 1

我试图弄清楚如何处理以下问题:

我有registrations

代码语言:javascript
复制
+---------+---------------------+
| user_id |      reg_date       |
+---------+---------------------+
| a       | 2018-11-01 20:47:46 |
| b       | 2018-11-02 21:07:15 |
| c       | 2018-11-03 05:24:31 |
+---------+---------------------+

和使用logins的表

代码语言:javascript
复制
+---------+---------------------+
| user_id |     login_date      |
+---------+---------------------+
| a       | 2018-11-01 21:30:46 |
| a       | 2018-11-01 21:35:15 |
| a       | 2018-11-01 22:22:22 |
| ...     |                     |
+---------+---------------------+

因此,我需要让用户在注册后的第一天(注册后24到48小时)至少登录一次,并在第二天显示user_idregister_date和登录的最高值。

最后我得到了以下解决方案:

代码语言:javascript
复制
WITH a 
     AS (SELECT registrations.user_id, 
                registrations.reg_date, 
                logins.login_date, 
                Row_number() 
                  OVER( 
                    partition BY registrations.user_id 
                    ORDER BY logins.login_date DESC) row_num 
         FROM   registrations 
                INNER JOIN logins 
                        ON registrations.user_id = logins.user_id 
         WHERE  logins.login_date BETWEEN Hours_add(registrations.reg_date, 24) 
                                          AND 
                                          Hours_add(registrations.reg_date, 48)) 
SELECT * 
FROM   a 
WHERE  row_num = 1 

但我不确定我的解决方案,虽然它看起来很好。你能检查一下并提出更简单的计算方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 09:37:08

这应该能行

代码语言:javascript
复制
SELECT r.user_id, 
       r.reg_date, 
       Max(l.login_date), 
       Count(l.login_date) 
FROM   registrations r, 
       logins l 
WHERE  r.user_id = l.user_id 
       AND l.login_date BETWEEN ( r.reg_date + interval '1' day ) AND ( 
                                r.reg_date + interval '2' day )
group by l.login_date        
having Count(l.login_date)>=1 
; 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53408666

复制
相关文章

相似问题

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