Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL để chọn giá trị tối đa giữa dấu thời gian bật và tắt cộng với 3 giây

Truy vấn bên dưới chọn tất cả các hàng có trạng thái không rỗng.

Đối với các hàng có trạng thái là 'Tắt', nó sử dụng truy vấn con để trả về trọng số tối đa giữa 'Bật' gần đây nhất và 'Tắt' hiện tại + 3 giây

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. Sử dụng đồng hồ đếm ngược jquery với datetime mysql?

  2. Sắp xếp các hàng theo hàng trong một bảng khác để điền vào danh sách Phổ biến

  3. Làm thế nào để sử dụng câu lệnh được chuẩn bị sẵn PDO với mệnh đề IN?

  4. Xóa bốn ký tự UTF-8 byte trong ASP / VBScript cổ điển (liên quan đến MySQL)

  5. Quản lý sự khác biệt về định dạng ngày giữa PHP và MySQL