嵌套内部以求和内部查询的结果

Sac*_*rma 1 join

假设我有一个查询 select a,b from xyz


结果将是:

a b
m1 10
m2 20
m3 30

我能否以某种方式总结所有 b 的内容,例如:

select sum(b) from (select a,b from xyz)
Run Code Online (Sandbox Code Playgroud)

它会给我结果 60。可能吗?愚蠢的问题?

Abd*_*naf 6

您需要为内部查询添加别名并使用 SUM 而不是 COUNT。

select SUM(b) from (select a,b from xyz) temp_table;
Run Code Online (Sandbox Code Playgroud)

而不是你可以这样做

SELECT SUM(b) FROM xyz;
Run Code Online (Sandbox Code Playgroud)

例子

SELECT userid,score FROM user_score;
+--------+-------+
| userid | score |
+--------+-------+
|      1 |     4 |
|      1 |     5 |
|      1 |     6 |
|      1 |     7 |
|      1 |     8 |
|      1 |     9 |
|      1 |    10 |
|      1 |     2 |
|      1 |     2 |
|      2 |     2 |
|      2 |     3 |
|      2 |     4 |
|      2 |     5 |
|      2 |     6 |
|      2 |     7 |
|      2 |     8 |
+--------+-------+
16 rows in set (0.00 sec)


SELECT SUM(score) FROM (SELECT userid,score FROM user_score ) A;
+------------+
| SUM(score) |
+------------+
|         88 |
+------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

或者

SELECT SUM(score) FROM user_score;
+------------+
| SUM(score) |
+------------+
|         88 |
+------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)