MYSQL选择分钟(时间),其中日期列为分钟(日期)

时间:2019-01-16 01:41:58

标签: mysql

我正在尝试选择日期为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

4 个答案:

答案 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的行。