Mysql
 sql >> база данни >  >> RDS >> Mysql

Можете ли да използвате псевдоним в клаузата WHERE в mysql?

Можете да използвате клауза HAVING, която може вижте псевдонимите, напр.

 HAVING avg_rating>5

но в клауза where ще трябва да повторите израза си, напр.

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

НО! Не всички изрази ще бъдат разрешени – използването на агрегираща функция като SUM няма да работи, в който случай ще трябва да използвате клауза HAVING.

От Ръководството за MySQL :

Не е позволено да се позовава на псевдоним на колона в клауза WHERE, тъй като стойността на колоната може още да не е определена, когато клаузата WHERE се изпълнява. Вижте Раздел B.1.5.4, „Проблеми с Псевдоними на колони“ .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL PI() функция – Връщане на стойността на π (pi)

  2. SQLSTATE[HY000] [2002] Неуспешен опит за свързване.. - При опит за свързване от локален към отдалечен сървър

  3. Най-добрият тип данни за съхраняване на валутни стойности в MySQL база данни

  4. Използвайте MySQL релационни бази данни в Ubuntu 9.04 (Jaunty)

  5. Какво е LENGTH() в MySQL?