Varför behöver du placera kolumner du själv skapar (till exempel "välj 1 som nummer") efter HAVING och inte VAR i MySQL?
WHERE
tillämpas före GROUP BY
, HAVING
tillämpas efter (och kan filtrera på aggregat).
I allmänhet kan du referera till alias i ingen av dessa klausuler, men MySQL
tillåter hänvisning till SELECT
nivåalias i GROUP BY
, ORDER BY
och HAVING
.
Och finns det några nackdelar istället för att göra "WHERE 1" (att skriva hela definitionen istället för ett kolumnnamn)
Om ditt beräknade uttryck inte innehåller några aggregat lägger du in det i WHERE
klausul kommer troligen att vara effektivare.