sql >> Database teknologi >  >> RDS >> Mysql

Vælg den største værdi for hver sidste 7 dage

SELECT   DATE(FROM_UNIXTIME(time)) AS daygroup, 
         MAX(value) AS max_value, 
         MIN(value) AS min_value
FROM     tbl
WHERE    time >= UNIX_TIMESTAMP(CURDATE() - INTERVAL 7 DAY)
GROUP BY daygroup

Dette vil få minimum og maksimum af value for hver dag inden for de seneste 7 dage.

Rediger: Opdateret løsning til at hente data for hele rækken:

SELECT a.*
FROM tbl a
INNER JOIN
(
    SELECT   DATE(FROM_UNIXTIME(time)) AS daygroup, 
             MAX(value) AS max_value 
    FROM     tbl
    WHERE    time >= UNIX_TIMESTAMP(CURDATE() - INTERVAL 7 DAY)
    GROUP BY daygroup
) b ON DATE(FROM_UNIXTIME(a.time)) = b.daygroup AND a.value = b.max_value



  1. Spring Boot:Jdbc javax.net.ssl.SSLE Undtagelse:lukker indgående før modtagelse af peers close_notify

  2. Matchende Oracle duplikatkolonneværdier ved hjælp af Soundex, Jaro Winkler og Edit Distance (UTL_MATCH)

  3. Brug af parameter som kolonnenavn i Postgres-funktionen

  4. golang gorm Få adgang til den underliggende mysql-forespørgsel