Anda dapat menggunakan alias yang dibuat sebelumnya di GROUP BY
atau HAVING
pernyataan tetapi tidak dalam SELECT
atau WHERE
penyataan. Ini karena program memproses semua SELECT
pernyataan pada saat yang sama dan belum mengetahui nilai alias.
Solusinya adalah merangkum kueri dalam subkueri dan kemudian alias tersedia di luar.
SELECT stddev_time, max_time, avg_time, min_time, cnt,
ROUND(avg_time * cnt, 2) as slowdown
FROM (
SELECT
COALESCE(ROUND(stddev_samp(time), 2), 0) as stddev_time,
MAX(time) as max_time,
ROUND(AVG(time), 2) as avg_time,
MIN(time) as min_time,
COUNT(path) as cnt,
path
FROM
loadtime
GROUP BY
path
ORDER BY
avg_time DESC
LIMIT 10
) X;