0

我有一个如下所示的表格:

[booking_id] [generation_time] [original_booking_id] 

我设法AVG [generation_time]为所有人解决了[booking_id]

但是,在不为零的情况下[original_booking_id],我想添加总生成时间[booking_id]

在这些情况下,我应该忽略所有[booking_id][original_booking_id]因为这些是另一个预订的更多组成部分,而不是我自己衡量的东西。

我想知道,总的来说,[generation_time]为所有人[booking_id]

我希望这很清楚 - 任何帮助表示赞赏。

4

2 回答 2

0

据我了解,这会对您有所帮助

select booking_id,SUM(generation_time)
from bookings
where booking_id<>original_booking_id AND original_booking_id<>0
group by booking_id

这将消除 original_booking_id=0 和 booking_id=original_booking_id 的记录。

于 2013-10-08T11:42:26.283 回答
0

我的理解是您需要以下内容:按 booking_id 分组的平均生成时间,其中 original_booking_id 为零 + 每个 booking_id 的 generation_time,其中 original_booking_id 不为零。

您可以使用 CTE 或子查询来归档它。

;WITH cte AS ( SELECT booking_id , original_booking_id , AVG(generation_time) AS generation_time FROM #bookings GROUP BY booking_id, original_booking_id ) SELECT booking_id , SUM(generation_time) FROM cte GROUP BY booking_id

于 2013-10-09T07:29:37.713 回答