我想要做的是显示技术人员对每张机票的平均分钟数,但仅限于平均值大于或等于每张机票的总平均分钟数的情况。但你不能在日期时间使用avg。
我知道这是错误的,但这就是我的开始:
select user_firstname + ' ' + user_lastname as technician_name,
avg(ticket_requestdate - ticket_closeddate) as average_minutes_per_ticket
from hd_users
join hd_tickets on ticket_requestor_id=user_id
where user_is_technician = '1'
having avg(ticket_requestdate - ticket_closeddate) >=
(select avg(ticket_requestdate - ticket_closeddate) from hd_users)
答案 0 :(得分:2)
我会在子查询中使用datediff()和分钟
datediff(minute,datestart,dateend)
然后你得到分钟数作为int然后你可以做avg()
或
avg(datediff(minute,datestart,dateend))
----编辑---- 我猜有点因为我不知道你的表格结构,但是这个怎么样呢
select user_firstname + ' ' + user_lastname as technician_name,
avg(Datediff(minute,ticket_requestdate,ticket_closeddate)) as average_minutes_per_ticket
from hd_users
join hd_tickets on ticket_requestor_id=user_id
where user_is_technician = '1'
GROUP BY user_firstname, user_lastname
having avg(Datediff(minute,ticket_requestdate,ticket_closeddate)) >=
(select avg(Datediff(minute,ticket_requestdate,ticket_closeddate)) from hd_users)