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

Cara mencapai partisi berdasarkan jenis fungsionalitas menggunakan variabel di MySQL 5.7

Dan sekali lagi gunakan 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

biola

Saya menggunakan 1 dan 0 bukannya Y dan NULL .

Tentu saja, urutan kolom dalam daftar keluaran dan urutan sangat penting lagi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel menyisipkan ke 3 tabel terkait

  2. Cari kolom yang berbeda dengan memisahkan koma

  3. Mencampur hasil kategori yang berbeda, diurutkan berdasarkan skor di MySQL

  4. GALAT 1215:Tidak dapat menambahkan batasan kunci asing saat menggunakan ON DELETE SET NULL

  5. Koneksi Pendaftaran Facebook