Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih Nilai Terbesar Untuk Setiap 7 Hari Terakhir

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

Ini akan mendapatkan minimum dan maksimum value untuk setiap hari dalam 7 hari terakhir.

Sunting: Solusi yang diperbarui untuk mendapatkan data seluruh baris:

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. Ekstrak tupel dengan nilai umum yang ditentukan di kolom lain di SQL

  2. pembunuhan mysqld yang tidak tepat - sekarang tidak dimulai

  3. Kinerja MYSQL ATAU vs IN

  4. Membandingkan dengan nilai NULL

  5. Gabungkan dua kolom dari dua tabel menjadi satu