sql >> Database >  >> RDS >> Mysql

Selecteer de grootste waarde voor elke laatste 7 dagen

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

Dit krijgt het minimum en maximum van value voor elke dag in de afgelopen 7 dagen.

Bewerken: Bijgewerkte oplossing om de gegevens van de hele rij te krijgen:

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. Uw database exporteren voor overdracht

  2. Een nieuwe manier om uw PostgreSQL-bewaking te personaliseren met Prometheus

  3. LIMIET 10..20 in SQL Server

  4. laravel 5.6 bulksgewijs invoegen van json-gegevens