Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz największą wartość na każde ostatnie 7 dni

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

Spowoduje to uzyskanie minimum i maksimum value za każdy dzień w ciągu ostatnich 7 dni.

Edytuj: Zaktualizowane rozwiązanie, aby uzyskać dane z całego wiersza:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Symulacja MySql OLD_PASSWORD w .NET lub MS SQL?

  2. System wiadomości w php mysql

  3. Wydajność VARCHAR vs TEXT, gdy dane mieszczą się w wierszu

  4. MySQL Dołącz do tej samej tabeli

  5. Jak włączyć rozszerzenia mysql php w kontenerze docker?