U kunt een eerder gemaakte alias gebruiken in de GROUP BY
of HAVING
statement maar niet in een SELECT
of WHERE
uitspraak. Dit komt omdat het programma alle SELECT
statement tegelijkertijd en kent de waarde van de alias nog niet.
De oplossing is om de query in een subquery in te kapselen en dan is de alias daarbuiten beschikbaar.
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;