我要做的是在两列的基础上建立一个3列的表。
id, value
----------
1, 7
1, 1
2, 6
3, 9
3, 2
4, 2
我要从[上面]到[下面]。。。
id, sum_of_strength, max_of_strength
---------------------------------------
1, 8, 11
2, 6, 11
3, 11, 11
4, 2, 11
这是我现在玩的东西,但是 max_value
与 sum_value
... 有没有人知道有没有办法。我试过很多其他的解决办法,但都没用。
SELECT
sum_table.id,
sum_table.sum_value,
(SELECT MAX(sum_table.sum_value) AS max_value) AS max_value
FROM (
SELECT
original_table.id,
CAST(SUM(original_table.value) AS UNSIGNED) AS sum_value
FROM original_table
GROUP BY original_table.id
) AS sum_table
GROUP BY sum_table.id;
1条答案
按热度按时间watbbzwu1#
可以使用子查询来获取最大值:
分组必须应用两次:
主查询使用它来获取
value
每id
子查询使用它来获得所有id中的最大和此处演示