sql >> Databasteknik >  >> RDS >> Mysql

Kan du använda ett alias i WHERE-satsen i mysql?

Du kan använda en HAVING-sats, som kan se aliasen, t.ex.

 HAVING avg_rating>5

men i en where-sats måste du upprepa ditt uttryck, t.ex.

 WHERE (sum(reviews.rev_rating)/count(reviews.rev_id))>5

MEN! Alla uttryck kommer inte att tillåtas - att använda en aggregeringsfunktion som SUM fungerar inte, i så fall måste du använda en HAVING-sats.

Från MySQL-manualen :

Det är inte tillåtet att referera till ett kolumnalias i en WHERE-sats, eftersom kolumnvärdet kanske inte har fastställts ännu när WHERE-satsen exekveras. Se avsnitt B.1.5.4,"Problem med Kolumnalias” .



  1. Hur kommer jag igång med SQLCipher för Android?

  2. Fråga för att söka i alla paket efter tabell och/eller kolumn

  3. Oracle-partition efter nyckelord

  4. Microsoft Access DevCon i Wien Österrike 1–2 april 2017