Hvorfor er det, du skal placere kolonner, du selv opretter (f.eks. "vælg 1 som tal") efter HAVING og ikke WHERE i MySQL?
WHERE anvendes før GROUP BY , HAVING anvendes efter (og kan filtrere på aggregater).
Generelt kan du referere til aliaser i ingen af disse klausuler, men MySQL tillader henvisning til SELECT niveaualiasser i GROUP BY , ORDER BY og HAVING .
Og er der nogle ulemper i stedet for at gøre "WHERE 1" (at skrive hele definitionen i stedet for et kolonnenavn)
Hvis dit beregnede udtryk ikke indeholder nogen aggregater, skal du sætte det i WHERE klausul vil højst sandsynligt være mere effektiv.