如何在sql server

时间:2017-06-27 09:06:48

标签: sql-server sql-server-2008 sql-server-2012

我正在尝试在一天中获取每小时报告中访问网站的用户。

尝试了多个选项,任何机构都可以建议实现此查询

enter image description here

预期结果: enter image description here

2 个答案:

答案 0 :(得分:0)

我认为你可以尝试这样的事情:

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

答案 1 :(得分:0)

只需根据startTime字段选择用户即可。

select DISTINCT(UserName) from YourTable 
where TO_DATE(startTime, 'YYYY-MM-DD') = TO_DATE(sysdate , 'YYYY-MM-DD');

此查询将为您返回当天输入您网站的所有用户。

你应该看看一些SQL课程,这并不难。使用叔叔谷歌我的朋友:)。您可以查看该网站:https://www.w3schools.com

我希望它会对你有所帮助。