आप GROUP BY
. में पहले से बनाए गए उपनाम का उपयोग कर सकते हैं या HAVING
कथन लेकिन SELECT
. में नहीं या WHERE
बयान। ऐसा इसलिए है क्योंकि प्रोग्राम सभी SELECT
. को प्रोसेस करता है एक ही समय में बयान और उपनाम के मूल्य को अभी तक नहीं जानता है।
समाधान एक सबक्वेरी में क्वेरी को इनकैप्सुलेट करना है और फिर अन्य नाम बाहर उपलब्ध है।
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;