sql >> Database >  >> RDS >> Mysql

Kun je een alias gebruiken in de WHERE-clausule in mysql?

Je zou een HAVING-clausule kunnen gebruiken, die kan zie de aliassen, bijv.

 HAVING avg_rating>5

maar in een waar-clausule moet je je uitdrukking herhalen, b.v.

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

MAAR! Niet alle uitdrukkingen zijn toegestaan ​​- het gebruik van een aggregatiefunctie zoals SUM zal niet werken, in welk geval u een HAVING-clausule moet gebruiken.

Uit de MySQL-handleiding :

Het is niet toegestaan ​​om te verwijzen naar een kolomalias in een WHERE-component, omdat de kolomwaarde mogelijk nog niet wordt bepaald wanneer de WHERE-component wordt uitgevoerd. Zie Sectie B.1.5.4, "Problemen met Kolomaliassen” .



  1. Hoe relaties te creëren in MySQL

  2. Hoe een gegevenstabel invoegen in de SQL Server-databasetabel?

  3. Hoe de meest recente set gedateerde records uit een mysql-tabel te selecteren?

  4. Installeer pdo voor postgres Ubuntu