首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在使用WinSQL精简版,并尝试使用DATEPART,但不确定如何使用

我正在使用WinSQL精简版,并尝试使用DATEPART,但不确定如何使用
EN

Stack Overflow用户
提问于 2017-05-06 01:37:20
回答 1查看 68关注 0票数 0

我需要按小时对这个SQL字符串进行分组,以表示一个USER_ID,但是我不确定如何使用我一直在阅读的DATEPART函数。基本上,我希望获得该用户从开始工作到回家的每一个小时的性能数据。如果用户早上6点来,我想看看他们在7 am,8am,9am...etc时的性能数据是什么,这样我就可以将数据导入excel并制作图表。

代码语言:javascript
复制
-------EmpPerf--------

select u.user_id, SUM(tl.elapsed_time) AS ELAPSED, SUM(CASE WHEN 
(tl.standard_time = 0) THEN 0 ELSE (tl.elapsed_time) END)AS PERFTIME, 
SUM(tl.standard_time)as Standard_time

from perfplus.tale tl, perfplus.task tk, perfplus.users u

WHERE tl.task_id = tk.ID
AND tl.facility_id = tk.facility_id
AND tk.start_time BETWEEN {ts '2017-05-04 04:00:00'} and {ts '2017-05-05 03:59:59'}
AND tk.facility_id = '130'
AND tk.user_id = u.user_id
AND u.shift_name NOT IN ('9WMS','9','T2016','T2017')
and tk.status like ('TS_PROCESSED')
and u.user_id = 'LBRSHALL'

group by u.user_id
EN

回答 1

Stack Overflow用户

发布于 2017-05-06 04:18:39

弄清楚了:

代码语言:javascript
复制
-------EmpPerf--------

select hour(tk.start_time), SUM(tl.elapsed_time) AS ELAPSED, SUM(CASE WHEN 
(tl.standard_time = 0) THEN 0 ELSE (tl.elapsed_time) END)AS PERFTIME, 
SUM(tl.standard_time)as Standard_time
from perfplus.tale tl, perfplus.task tk, perfplus.users u
WHERE tl.task_id = tk.ID
AND tl.facility_id = tk.facility_id
AND tk.start_time BETWEEN {ts '2017-05-04 04:00:00'} and {ts '2017-05-04 
23:00:00'}

AND tk.facility_id = '130'
AND tk.user_id = u.user_id
AND u.shift_name NOT IN ('9WMS','9','T2016','T2017')
and tk.status like ('TS_PROCESSED')
and u.user_id = 'LBRSHALL'

group by hour(tk.start_time)
order by hour(tk.start_time)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43810834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档