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

Nhận MIN Ngày biến dựa trên điểm đánh dấu trong hàng

Sử dụng các chức năng cửa sổ:

select t.*,
       coalesce(next_time, time) as imputed_time
from (select t.*,
             sum(context = 'reset') over (partition by user_id) as cnt_reset,
             min(case when context is null then time end) over (partition by userid order by time rows between current row and unbounded following) as next_time
      from t
     ) t
where cnt_reset = 0 or context = 'reset';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dấu nháy đơn trong khi Chèn (Mysql)

  2. Giới hạn kết quả từ bảng đã tham gia thành một hàng

  3. Làm cách nào tôi có thể tìm ra bộ ký tự / đối chiếu mặc định trong MySQL của mình

  4. Cách xác định chỉ mục duy nhất trên nhiều cột trong phần tiếp theo

  5. Cách để Silverlight lấy dữ liệu từ MySQL