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

MySQL Gabung berdasarkan YEAR () pengindeksan - Kolom tambah atau Kolom yang Dihasilkan

Anda dapat mencoba ini:

FROM workdone
LEFT JOIN staffcost ON workdone.date >= MAKEDATE(staffcost.costyear, 1)
                   AND workdone.date <  MAKEDATE(staffcost.costyear+1, 1)

Ini akan memungkinkan penggunaan indeks pada workdone.date untuk mencari tanggal antara hari pertama costyear hingga tetapi tidak termasuk hari pertama costyear+1 .

Secara umum, jenis pencarian rentang ini dapat mengeksploitasi indeks di mana fungsi (seperti YEAR(datestamp) ) tidak bisa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. operan harus berisi 1 kolom

  2. Pemfilteran SQL oleh beberapa kolom

  3. disederhanakan:mysqli num_rows tidak berfungsi

  4. Mysql menghitung jumlah kecocokan regex per bidang

  5. Mengapa saya mendapatkan hasil yang berbeda saat menggunakan gabungan dalam