gpt4 book ai didi

mysql - sql查询每月金额

转载 作者:行者123 更新时间:2023-11-29 10:24:58 25 4
gpt4 key购买 nike

我有这样的 table ,

SELECT                                  
payment_id,amount,payment_date
FROM payment

为了获取每月总金额,我将查询编写为

SELECT
payment_id
, SUM(amount) AS Total
, MonthName(payment_date) AS Month

FROM payment

但是我在金额表中得到了错误的答案,因为所有值都添加到同一个月。

payment_id amount payment_date    
1 19.00 May

如果有人能帮助我解决这个问题,我将不胜感激?

最佳答案

首先,始终包含年份和月份 - 大概这就是您的意图。

其次,您需要一个分组依据。我建议:

SELECT year(payment_date) as yyyy, monthname(payment_date) as mm,
SUM(amount) AS Total
FROM payment p
GROUP BY year(payment_date), monthname(payment_date)
ORDER BY MIN(payment_date);

我添加了 ORDER BY,这样您就能以合理的顺序获得结果集(而不是按月份名称的字母顺序排列)。

请注意, payment_id GROUP BY 中没有意义。它在付款中的每一行可能都是唯一的。 MySQL 会在每一行上放置一个任意值。如果您在 SELECT 中包含 payment_id 而在 GROUP BY 中没有,几乎任何其他数据库都会生成错误。

关于mysql - sql查询每月金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48481430/

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