【发布时间】:2021-03-08 21:28:12
【问题描述】:
表“dsi”目前分为 4 列。
id | dsi | amount | month
2 | debt| -23.39 | 02
2 | debt| -27.32 | 02
2 | sav | 23.39 | 03
2 | inv | 101.39 | 04
2 | sav | 23.39 | 04
2 | debt| -42.42 | 04
2 | sav | 123.39 | 03
2 | inv | 23.39 | 03
2 | sav | 231.39 | 04
2 | inv | 234.39 | 04
我想按用户(id 列)、月份以及每月的债务、储蓄和投资总额查询该表。理想情况下,它看起来像这样:
month | debt | sav | inv |
02 | -50.71 | | |
03 | | 146.78| 23.39 |
04 | -42.42 | 231.39|234.39 |
我尝试了很多不同的 MySQL 查询,包括内部连接,但我没有找到正确的方法。查询这个的正确方法是什么?
这是我最近的尝试:
cursor.execute("""SELECT a.month, debt, savings, investment
FROM dsi a INNER JOIN dsi b
ON a.month
ON a.dsi=d.dsi
GROUP BY a.month
SUM(amount) AS debt WHERE (dsi = %s) AND (id = %s) GROUP BY month""", ("debt", id))
data = cursor.fetchall()
【问题讨论】:
-
考虑处理应用代码中数据显示的问题
标签: mysql sql inner-join