これはsleep()関数を使用してテストできると思います。
たとえば、次のデモを見てください。 http://sqlfiddle.com/#!2/0bc1b/1
Select * FROM t;
| X |
|---|
| 1 |
| 2 |
| 2 |
SELECT x+sleep(1)
FROM t
GROUP BY x+sleep(1);
SELECT x+sleep(1) As name
FROM t
GROUP BY name;
両方のクエリの実行時間は約3000ミリ秒(3秒)です。
テーブルには3つのレコードがあり、各レコードに対してクエリは1秒間だけスリープします。
つまり、式が評価されることを意味します。レコードごとに1回だけで、2回ではありません。