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

MySQL untuk memilih nilai maksimal antara waktu aktif dan nonaktif ditambah 3 detik

Kueri di bawah ini memilih semua baris yang statusnya bukan nol.

Untuk baris dengan status 'Nonaktif', ia menggunakan subkueri untuk mengembalikan bobot maksimum antara 'Aktif' terbaru dan 'Nonaktif' saat ini + 3 detik

select t.TimeStr, t.Status,
  case
    when status = 'Off'
    then (select max(cast(Weight as signed)) from tempbatch t2 
          where t2.TimeStr between 
            (select max(TimeStr) 
                 from tempbatch t3 
                 where status = 'On' and t3.TimeStr < t.TimeStr)
          and date_add(t.TimeStr, interval 3 second)
    )
    else Weight
  end as Weight
from tempbatch t
where t.Status is not null
order by TimeStr

http://sqlfiddle.com/#!9/f27fb/6



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghapus duplikat dengan indeks unik

  2. Tomcat 6.0.24 Pengecualian:Tidak dapat memuat com.mysql.jdbc.SQLError

  3. MySQL CURRENT_TIMESTAMP saat membuat dan memperbarui

  4. cara mengekstrak bidang nilai xml dengan di sql server (fungsi ekstrak nilai di mysql)

  5. Membuat file kml dari database mysql dengan php