从mysql获取最小小时数和最大小时数

从mysql获取最小小时数和最大小时数,mysql,sql,Mysql,Sql,我有如下记录的设施数据 Id_facility | time_start | time_end 1 | 07:00:00 | 19:00:00 2 | 08:00:00 | 20:00:00 我想在一个查询中获得最低开始时间和最高结束时间, 例:07:00:00,20:00:00 我的尝试: SELECT time_start, MIN( TIME_TO_SEC(time_start)), time_end, MAX( TIME_TO_SEC(t

我有如下记录的设施数据

Id_facility | time_start | time_end
1           | 07:00:00   | 19:00:00
2           | 08:00:00   | 20:00:00
我想在一个查询中获得最低开始时间和最高结束时间, 例:07:00:00,20:00:00

我的尝试:

SELECT time_start, MIN( TIME_TO_SEC(time_start)), time_end, MAX( TIME_TO_SEC(time_end)) AS mite FROM facility
但结果只返回第一行


如何在一个查询中获得最低开始时间和最高结束时间?***

您是否试图获得两个结果?一个具有最低的开始时间,另一个具有最高的结束时间

SELECT time_start, time_end
FROM facility
WHERE time_start = MIN( TIME_TO_SEC(time_start))
      OR time_end = MAX( TIME_TO_SEC(time_end))
FROM facility

我猜这就是你想要的:

MySQL 5.5.32架构设置:

问题1:

:


您想要什么输出?选择MINtime\u start,facility中的MAXtime\u end将获得一行最低/最高时间。@jpw我只想要get time\u start和time\u end,在我的试用查询中,我尝试比较每条记录。但这是你想要的吗@哦,非常感谢!!!为什么我会把它弄得这么复杂,如果你只是简单地用varchar作为你的time\u start和time\u end列呢?请注意,只有当time\u start和time\u end列是varchar时,这才有效。@是的,我知道,但它似乎对OP有效。可能数据存储为varchar,或者可能是time,我不知道。我认为他的时间开始和时间结束列中的值是错误的。顺便说一句,MySQL中没有时间限制类型。。以防OP在几天后再次向您发送消息,并说它不起作用:@isim有一个,我的查询也会起作用;
CREATE TABLE facility
    (`Id_facility` int, `time_start` varchar(8), `time_end` varchar(8))
;

INSERT INTO facility
    (`Id_facility`, `time_start`, `time_end`)
VALUES
    (1, '07:00:00', '19:00:00'),
    (2, '08:00:00', '20:00:00')
;
SELECT MIN( time_start), MAX( time_end) FROM facility
| MIN( TIME_START) | MAX( TIME_END) |
|------------------|----------------|
|         07:00:00 |       20:00:00 |