我正在尝试选择日期为Min(Date)的Min(Time),有人可以向我指出正确的方向吗?
遵循这些原则,但这是行不通的。
select Min(timecol) as MinTime from myTable where daycol = '1' and datecol = min(datecol)
daycol datecol timecol
1 16/01/2019 08:30:00
1 17/01/2019 01:30:00
1 16/01/2019 12:30:00
1 18/01/2019 12:30:00
2 16/01/2019 08:30:00
答案 0 :(得分:0)
您可以尝试:
__attribute__((unused))
答案 1 :(得分:0)
这应该做到:
SELECT
MIN( timecol ) AS MinTime
FROM myTable
WHERE daycol = '1'
AND datecol = (
SELECT
MIN( datecol )
FROM myTable
WHERE daycol = '1'
)
;
如果您正在运行MySQL 8或更高版本(或任何支持窗口功能的数据库),则:
SELECT
daycol, datemin, timemin
FROM (
SELECT
*
, MIN( datecol ) OVER (PARTITION BY daycol) datemin
, MIN( timecol ) OVER (PARTITION BY daycol, datecol) timemin
FROM myTable
) d
WHERE daycol = '1'
AND datecol = datemin
AND timecol = timemin
答案 2 :(得分:-1)
这将为您提供最小时间间隔,其中日期间隔最小。 从myTable中选择Min(timecol)作为MinTime,其中datecol =(从myTable中选择min(datecol));
确保timecol和datecol分别为DATE和TIME类型。
答案 3 :(得分:-1)
sandwich(mod1)
这将返回2019年1月16日08:30的行。