首页 > 数据库 > 数据库开发技术 > 一个神奇的SQL聚合查询案例
CREATE TABLE t1 (val1 INT);
INSERT INTO t1 VALUES (1), (2), (3);
CREATE TABLE t2 (val2 INT);
INSERT INTO t2 VALUES (10), (20), (30);
SELECT (SELECT sum(val1)
FROM t2
LIMIT 1) res
FROM t1;
res|
---+
6|
SELECT (SELECT sum_a
FROM t2
LIMIT 1
)
FROM (SELECT sum(val1) AS sum_a
FROM t1
) tmp;
SELECT sum(val1) AS sum_val1
FROM t1;
sum_val1|
--------+
6|
SELECT 6 res
FROM t2
LIMIT 1;
SQL 错误 [1242] [21000]: Subquery returns more than 1 row
SELECT sum(expression)
FROM t2
SELECT (SELECT sum(val1)
FROM t2
FETCH FIRST 1 ROWS ONLY) res
FROM t1;
RES|
---+
3|
6|
9|
SELECT (SELECT sum(val1+val2)
FROM t2
LIMIT 1) res
FROM t1;
res|
---+
63|
66|
69|
SQL 错误 [8124] [S0001]: 在包含外部引用的被聚合表达式中指定了多个列。如果被聚合的表达式包含外部引用,那么该外部引用就必须是该表达式中所引用的唯一的一列。
原文作者:SQL编程思想;如有侵权,请联系管理员删除。