gpt4 book ai didi

mysql - SQL计算查询示例中的时间/日期

转载 作者:行者123 更新时间:2023-11-30 00:10:43 25 4
gpt4 key购买 nike

数据库架构包括:

  1. 公司(ID_comp,名称)
  2. 行程(trip_no、id_comp、飞机、town_from、town_to、time_out、time_in)
  3. Pass_in_trip(行程编号、日期、ID_psg、地点)

公司表包含运送乘客的公司的 ID 和名称。行程表包含有关行程的信息:行程编号、公司 ID、飞机类型、出发城市、到达城市、出发时间和到达时间。 Pass_in_trip 表包含有关航类的信息:行程编号、出发日期(天)、乘客 ID 及其在飞行期间的位置。我们应该注意到,- 任何行程每天都在完成;航类持续时间少于一个日历日(24 小时);镇_从 <> 镇_到;- 时间和日期被视为相对同一个时区;- 出发时间和到达时间在一分钟之内;

问:对于每家公司,找出该公司的飞机在完成飞行期间所花费的时间。结果集:公司名称、时间(以分钟为单位)。

答:

select Z.name,
sum (
CASE
WHEN DATEDIFF(mi,time_out,time_in) <0
THEN DATEDIFF(mi,time_out,time_in) + 1440
ELSE DATEDIFF(mi,time_out,time_in)
END) as minutes
from (

select distinct C.name,T.trip_no, DATE ,time_out,time_in
from Pass_in_trip as Pt
JOIN Trip as T
ON T.trip_no=Pt.trip_no
JOIN Company as C
ON C.ID_comp = T.ID_comp
) Z
group by Z.name

谁能告诉我日期变量如何影响查询,我不明白它有多重要。但是,当您尝试删除(主查询)FROM 语句中的日期变量时,输出会有所不同。

最佳答案

这会有所不同,因为您使用了SELECT DISTINCT。如果您有两行具有相同的 name、trip_no、time_out、time_in,并且您不通过 date 区分它们,则 DISTINCT 将合并它们。

关于mysql - SQL计算查询示例中的时间/日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24092711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com