Mengapa Anda perlu menempatkan kolom yang Anda buat sendiri (misalnya "pilih 1 sebagai angka") setelah HAVING dan bukan WHERE di MySQL?
WHERE
diterapkan sebelum GROUP BY
, HAVING
diterapkan setelah (dan dapat menyaring agregat).
Secara umum, Anda dapat mereferensikan alias di kedua klausa ini, tetapi MySQL
memungkinkan referensi SELECT
alias level di GROUP BY
, ORDER BY
dan HAVING
.
Dan apakah ada kerugian daripada melakukan "WHERE 1" (menulis seluruh definisi alih-alih nama kolom)
Jika ekspresi terhitung Anda tidak berisi agregat apa pun, masukkan ke dalam WHERE
klausa kemungkinan besar akan lebih efisien.