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;