Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy możesz użyć aliasu w klauzuli WHERE w mysql?

Możesz użyć klauzuli HAVING, która może zobacz aliasy, np.

 HAVING avg_rating>5

ale w zdaniu WHERE musisz powtórzyć swoje wyrażenie, np.

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

ALE! Nie wszystkie wyrażenia będą dozwolone - użycie funkcji agregującej, takiej jak SUMA, nie zadziała, w takim przypadku będziesz musiał użyć klauzuli HAVING.

Z Podręcznika MySQL :

Niedozwolone jest odwoływanie się do aliasu kolumny w klauzuli WHERE, ponieważ wartość kolumny może nie zostać jeszcze określona podczas wykonywania klauzuli WHERE. Zobacz Sekcję B.1.5.4,„Problemy z Aliasy kolumn” .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wiele aktualizacji w MySQL

  2. MySQL — odejmowanie wartości od poprzedniego wiersza, grupowanie według

  3. ScaleGrid DBaaS rozszerza usługi hostingowe MySQL poprzez AWS Cloud

  4. Przygotowane oświadczenia MySQL

  5. Jak sprawić, by klucz podstawowy tabeli MySQL był automatycznie zwiększany z pewnym prefiksem?