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

Cách đạt được phân vùng theo loại chức năng bằng cách sử dụng các biến trong MySQL 5.7

Và sử dụng lại UDV.

SELECT dateOfCheckup,
       duration,
       minutes,
       CASE WHEN @prev_month != monthOfCheckup
            THEN total >= 20
            WHEN @prev_total < 20 
            THEN 1
            ELSE 0 
            END 99457Elig,
       CASE WHEN @prev_month != monthOfCheckup
            THEN total >= 40
            WHEN @prev_total < 40
            THEN 1
            ELSE 0 
            END 99458Elig,
       @prev_month := monthOfCheckup monthOfCheckup,
       @prev_total := total total
FROM (select dateOfCheckup,
             duration,
             @cur_dur := ((case when duration like '% hour%' then substring_index(duration, ' hour', 1) * 60 else 0 end) +
                         (case when duration like '%min%' then substring_index(substring_index(duration, ' min', 1), ' ', -1) + 0 else 0 end)) as minutes,

             CASE WHEN @year_month = date_format(dateOfCheckup, '%Y-%m')
                  THEN @cum_sum := @cum_sum + @cur_dur
                  ELSE @cum_sum := @cur_dur
                  END total,
             @year_month := date_format(dateOfCheckup, '%Y-%m') monthOfCheckup

      from patient, (SELECT @year_month:='', @cum_sum:=0, @cur_dur:=0) variables
      ORDER BY dateOfCheckup) subquery, 
(SELECT @prev_month:=0, @prev_total:=0) variable
ORDER BY dateOfCheckup

fiddle

Tôi sử dụng 10 thay vì YNULL .

Tất nhiên, thứ tự các cột trong danh sách đầu ra và thứ tự lại rất quan trọng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mã lỗi MySQL 1452 Ràng buộc khóa ngoại

  2. Làm cách nào để phân tích cú pháp dữ liệu Json từ api thư viện mở? (đúng)

  3. ImportError:Không có mô-đun nào có tên flask.ext.mysql

  4. Chúng ta có thể sử dụng di chuyển EF với MySql không

  5. Truy vấn MySQL - Kết hợp dữ liệu dựa trên hai yếu tố, sau đó tùy chỉnh cách dữ liệu được sắp xếp dựa trên các giá trị