我有一个SQL Server数据库包含一个注册表,我需要随时间在图上绘制。 问题是,我需要根据用户从哪里注册(例如网站,wap网站或移动应用程序)将其分解。SQL Server查询
所产生的输出数据应该是这样...
[date] [num_reg_website] [num_reg_wap_site] [num_reg_mobileapp]
1 FEB 2010,24,35,64
2 FEB 2010,23,85,48
3 FEB 2010,29,37,79
等...
的源表如下...
UUID(INT),signupdate(日期时间),requestsource(VARCHAR(50))
此表中部分数据smple看起来像这样...
1001,2010-02-2:00:12:12,'website'
1002,2010-02-2:00:10:17,'app'
1003,2010-02-3:00:14:19,'website'
1004,2010-02-4:00:16:18,'wap'
1005,2010-02-4:00:18:16,'website'
运行下面的查询返回一个数据列“总注册”为网站注册,但我不知道如何为不幸的是多列做到这一点....
select CAST(FLOOR(CAST([signupdate]AS FLOAT))AS DATETIME) as [signupdate], count(UUID) as 'total registrations' FROM [UserRegistrationRequests] WHERE requestsource = 'website'
group by CAST(FLOOR(CAST([signupdate]AS FLOAT))AS DATETIME)
您正在使用哪个版本的SQL Server? – 2010-05-18 14:40:30
第二列是什么类型的数据类型? “2010-02-2:00:12:12”看起来不是一个合适的日期时间格式。我认为它应该是像“2010-02-02 00:12:12” – StingyJack 2010-05-18 14:45:06