sql >> Database teknologi >  >> RDS >> Mysql

MySQL Join baseret på YEAR () indeksering - Kolonnetilføj eller Genereret kolonne

Du kan prøve dette:

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

Dette vil tillade brugen af ​​et indeks på workdone.date for at søge efter datoer mellem den første dag i costyear indtil men ikke inklusive den første dag i costyear+1 .

Generelt kan denne form for områdesøgning udnytte indekser, hvor funktioner (såsom YEAR(datestamp) ) kan ikke.



  1. MySQL-serverstartfejl 'Serveren afsluttede uden at opdatere PID-fil'

  2. Typo3 V6:Hvordan opretter man en indholdselementcontainer? (uden tv)

  3. Hvordan eksporteres tabel som CSV med overskrifter på Postgresql?

  4. MySQL afgrænser syntaks fejl