无法理解GROUP BY
子句的奇怪行为:
SELECT id, SUM(num) as sum
FROM (
SELECT 1 AS id, 2 AS num UNION
SELECT 1, 3) AS a
GROUP BY id
Run Code Online (Sandbox Code Playgroud)
结果是:
SELECT id, SUM(num) as sum
FROM (
SELECT 1 AS id, 2 AS num UNION
SELECT 1, 3) AS a
GROUP BY id
Run Code Online (Sandbox Code Playgroud)
但
SELECT id, SUM(num) as sum
FROM (
SELECT 1 AS id, 2 AS num UNION
SELECT 1, 2 /*!*/) AS a
GROUP BY id
Run Code Online (Sandbox Code Playgroud)
结果是:
id | sum …
Run Code Online (Sandbox Code Playgroud)