gpt4 book ai didi

MySQL 使用 JOIN 和报告

转载 作者:行者123 更新时间:2023-11-29 05:31:20 25 4
gpt4 key购买 nike

所以,我有一个 mysql 查询,如下所示:

SELECT rewards.name, redemptions.points, redemptions.value
FROM rewards
INNER JOIN redemptions ON rewards.id = redemptions.reward_id;

问题是它吐出一个这样的表:

-----------------------------
| Reward 1 | 500 | 30 |
-----------------------------
| Reward 1 | 500 | 30 |
-----------------------------
| Reward 1 | 500 | 30 |
-----------------------------
| Reward 2 | 100 | 10 |
-----------------------------
| Reward 2 | 100 | 10 |
-----------------------------
| Reward 3 | 250 | 20 |
-----------------------------

等等。理想情况下,我实际上希望它做的是只列出每个列一次,但对某些列求和。因此,例如,它看起来像这样:

-----------------------------
| Reward 1 | 500 | 90 |
-----------------------------
| Reward 2 | 100 | 20 |
-----------------------------
| Reward 3 | 250 | 20 |
-----------------------------

它对第三列求和,但只列出前两列一次。我想也许联合可以做到这一点,因为我知道它会忽略重复项,但我认为它在使用联合时也不起作用。

最佳答案

使用SUM,记得加上GROUP BY:

SELECT rewards.name, redemptions.points, SUM(redemptions.value)
FROM rewards
INNER JOIN redemptions ON rewards.id = redemptions.reward_id
GROUP BY rewards.name;

关于MySQL 使用 JOIN 和报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com