Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bisakah Anda menggunakan alias di klausa WHERE di mysql?

Anda dapat menggunakan klausa HAVING, yang dapat lihat alias, mis.

 HAVING avg_rating>5

tetapi dalam klausa where Anda harus mengulangi ekspresi Anda, mis.

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

TETAPI! Tidak semua ekspresi akan diizinkan - menggunakan fungsi agregasi seperti SUM tidak akan berfungsi, dalam hal ini Anda harus menggunakan klausa HAVING.

Dari Manual MySQL :

Tidak diperbolehkan untuk merujuk ke alias kolom dalam klausa WHERE, karena nilai kolom mungkin belum ditentukan saat klausa WHERE dijalankan. Lihat Bagian B.1.5.4,“Masalah dengan Kolom Alias” .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ulasan Produk – Perbaikan Stellar untuk MySQL

  2. Fungsi MySQL COT() – Mengembalikan Kotangen Angka di MySQL

  3. Panduan Merancang Database Untuk RBAC Di MySQL

  4. Django :Tabel tidak ada

  5. Tinjauan Fungsi Jendela Analitik Baru di MySQL 8.0