首页 > 解决方案 > 如何在mysql中按给定年份计算月份和成员明智总数

问题描述

我的两个表memberssavings多个成员的储蓄存储在几天的储蓄表上,我想显示给定年份名称的月份明智成员储蓄总额。

members桌子

1.id 
2.name
3.account_no

savings桌子

1.id
2.member_id
3.transaction_date
4.saving_amount
`SELECT
    m.id member_id,
    m.name member_name,
    m.account_no,
    MONTHNAME(s.transaction_date) m,
    MONTH(s.transaction_date) mt,
    ROUND(SUM(s.saving_amount)) total_saving
FROM
    members m,
    savings s
WHERE
    YEAR(s.transaction_date) = 2019 and m.id = s.member_id
GROUP BY
    m
ORDER BY
    mt`

我已经尝试过这个示例代码,但这个结果只显示月份,但想显示成员和月份。我想输出那个示例图像

在此处输入图像描述

标签: mysql

解决方案


您可能需要完整的 group by 子句-

SELECT
    m.id member_id,
    m.name member_name,
    m.account_no,
    MONTHNAME(s.transaction_date) m,
    MONTH(s.transaction_date) mt,
    ROUND(SUM(s.saving_amount)) total_saving
FROM
    members m,
    savings s
WHERE
    YEAR(s.transaction_date) = 2019 and m.id = s.member_id
GROUP BY
    m.id member_id,
    m.name member_name,
    m.account_no,
    MONTHNAME(s.transaction_date),
    MONTH(s.transaction_date)
ORDER BY
    mt

推荐阅读