假设我有一个查询 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。可能吗?愚蠢的问题?
您需要为内部查询添加别名并使用 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)