我有 2 个具有以下表结构的表 -
用户(UserID int、Name varchar(50)、DateCreated datetime)和
UserLogin(Id int、UserId int、DateLoggedIn日期时间)
我需要按以下格式生成每天/每月/每年登录应用程序的用户的报告 -
日期、新用户、旧用户、总用户
日期- 为报告选择的日期
NewUser - 如果用户第一次登录应用程序,他将被视为新用户,否则视为旧用户。
OldUser - 第一次访问后的后续用户登录。
比如用户A在15号登录一个月,15号被当成新用户,但是后续访问网站时作为老用户,需要在报表上报老用户。同样,如果用户 B 在 2012 年 4 月 30 日登录过一次,那么以后他将被视为旧用户。
你们可以给我一个查询以输出报告吗?
我的数据如下——
用户表
| 用户名 | 姓名 | 创建日期 | |--------|-------------|-------------| | 1 | 拉杰维尔 | 2012-01-01 | | 2 | Manoj Tyagi | 2011-08-10 | | 3 | 拉古潘迪 | 2009-05-13 | | 4 | 巴詹拉尔 | 2012-05-01 | | 5 | 萨比尔辛格 | 2011-08-03 |
用户登录表
| 身份证 | 用户名 | 日期登录 | |----|--------|--------------| | 1 | 1 | 2012-04-27 | | 2 | 1 | 2012-05-25 | | 3 | 1 | 2012-05-28 | | 4 | 2 | 2012-03-21 | | 5 | 2 | 2012-05-30 | | 6 | 3 | 2012-05-20 | | 7 | 4 | 2012-05-29 | | 8 | 5 | 2012-04-22 | | 9 | 3 | 2012-05-15 |
我确实需要一个月的全部数据(不需要如此不同)....理想情况下,根据我提供的数据,我应该得到以下信息
| 月 | 新用户 | 老用户 | 用户总数 | |-------|---------|----------|------------| | 3 | 1 | 0 | 1 | | 4 | 2 | 0 | 2 | | 5 | 2 | 4 | 6 |
由于用户 id 3 在 5 月份登录了两次,他的第一次访问应该被视为新访问,第二次访问应该被视为旧访问。
TIA,
帕里托什·艾莉亚。