我使用SQL Server(2012年),并使用以下两个(简化)表,我怎么创建3个单独的报告(每日,每周,每月),并包括以下计算字段:
1. new users created in this period
2. total number of users at this time
**Users**
userID int
name varchar(80)
userCreated datetime
**Orders**
orderID int
userID int
orderCreated datetime
Run Code Online (Sandbox Code Playgroud)
我一直在搞乱这段代码:
SELECT CAST(DATEPART(dd,userCreated) as VARCHAR(2)) + '/' + CAST(DATEPART(mm,userCreated) AS VARCHAR(2)) + '/' + CAST(DATEPART(yyyy,userCreated) AS VARCHAR(4)) [Date],
count(*) newSignUps,
(select count(*) from users u2 WHERE u2.userCreated < u1.userCreated)
FROM users u1
WHERE userCreated BETWEEN '05/01/2014 00:00:00.000' and '05/31/2014 23:59:59.000'
GROUP BY DATEPART(dd,userCreated), DATEPART(mm,userCreated), DATEPART(yyyy,userCreated),userCreated
Run Code Online (Sandbox Code Playgroud)
但要显示任何内容,需要将"userCreated"字段添加到分组中...
对于我需要显示的报告:
日常:
date …Run Code Online (Sandbox Code Playgroud)