Sql server 如何在SQLServer中编写复杂的GROUPBY子句
我试图获取用户谁是访问网站的每小时报告一天 尝试了多种选择,任何机构都可以建议实现此查询吗 预期结果:Sql server 如何在SQLServer中编写复杂的GROUPBY子句,sql-server,sql-server-2008,sql-server-2012,Sql Server,Sql Server 2008,Sql Server 2012,我试图获取用户谁是访问网站的每小时报告一天 尝试了多种选择,任何机构都可以建议实现此查询吗 预期结果: 我想你可以试试这样的东西: SELECT USERNAME, CONVERT(VARCHAR(12), STARTTIME,102) AS DDAY, DATEPART(hh, STARTTIME) DHOUR, COUNT(*) AS RC FROM YOURTABLE GROUP BY USERNAME, CONVERT(VARCHAR(12), STARTTIME,102), DA
我想你可以试试这样的东西:
SELECT USERNAME, CONVERT(VARCHAR(12), STARTTIME,102) AS DDAY, DATEPART(hh, STARTTIME) DHOUR, COUNT(*) AS RC
FROM YOURTABLE
GROUP BY USERNAME, CONVERT(VARCHAR(12), STARTTIME,102), DATEPART(hh, STARTTIME)
样本数据:
USERNAME STARTTIME
aaa 2017-06-26 01:00:00.000
aaa 2017-06-26 01:10:00.000
bbb 2017-06-26 02:00:00.000
aaa 2017-06-26 02:10:00.000
输出:
USERNAME DDAY DHOUR RC
aaa 2017.06.26 1 2
aaa 2017.06.26 2 1
bbb 2017.06.26 2 1
只需根据startTime字段选择用户
select DISTINCT(UserName) from YourTable
where TO_DATE(startTime, 'YYYY-MM-DD') = TO_DATE(sysdate , 'YYYY-MM-DD');
此查询将为您返回当天输入站点的所有用户
您应该学习一些SQL课程,这并不难。使用谷歌叔叔我的朋友:)。您可以查看以下站点:
我希望它能对您有所帮助。您到底面临着什么问题。您能发布您尝试过的查询吗?您能收集您希望从查询中返回的数据样本吗?让我们看看您的预期结果吗?