sql >> Database >  >> RDS >> Mysql

SQL:Selecteer het laatste record voor elke dag gegeven datetime

U kunt deelnemen aan een subquery die de maximale datetime voor elke datum vindt.

SELECT t1.trade_time, t1.price
FROM yourTable t1
INNER JOIN
(
    SELECT DATE(trade_time) AS trade_date, MAX(trade_time) AS max_trade_time
    FROM yourTable
    GROUP BY DATE(trade_time)
) t2
    ON t2.trade_date = DATE(t1.trade_time) AND
       t2.max_trade_time = t1.trade_time
ORDER BY
    t1.trade_time;

Demo



  1. Doctrine genererende query met verkeerde tabelalias

  2. Meerdere buitenlandse sleutels?

  3. Slaapstand genereert geen cascade

  4. Oracle Analytic-functies - een windowing-clausule opnieuw instellen