gpt4 book ai didi

Mysql - 填充缺失月份的行

转载 作者:行者123 更新时间:2023-11-29 16:46:15 24 4
gpt4 key购买 nike

天哪,它一定很简单,但我正在努力解决这个“填写丢失的数据”问题。

我有一个表,其中包含以下列和一些插入的数据。

TABLE

year month payment
2014 3 100
2014 5 800
2014 9 200

我想从这个表中获得 2014 年以来的完整月份及其付款值。

Month    Payment
1 0
2 0
3 100
4 0
5 800

...

12 0

我尝试在 select 中使用 IFNULL 但失败得很严重...并且 stackoverflow 的搜索结果通常连接两个或多个表来操作信息。解决这个问题最快、最好的解决方案是什么?

最佳答案

对于缺失的月份,您可以对所有月份进行联合查询并与您的表连接

SELECT 
t1.`year`,
t.`month`,
coalesce(t1.payment,0) payment
FROM
(SELECT 1 AS `month`
UNION
SELECT 2 AS `month`
UNION
....
SELECT 12 AS `month`
) AS t
LEFT JOIN your_table t1 on(t.`month` = t1.`month`)
WHERE ....

Fiddle Demo

关于Mysql - 填充缺失月份的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53099080/

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