我有2张桌子,第一张桌子:
这是第二张表:
期望的输出:
Jan | 1,000,000
Feb | 0.000
Mar | 0.000
是否可以使用单个查询?
答案 0 :(得分:0)
SELECT s.Month, SUM(f.Sales)
FROM firstTable f, secondTable s
GROUP BY MONTH (Date)
应该适合你。
答案 1 :(得分:0)
SELECT
t2.`month`,
SUM(t1.sales) as sales
FROM
table2 AS t2
LEFT JOIN table1 AS t1 ON t2.`month` = DATE_FORMAT(t1.date, "%b")
GROUP BY t2.`month`
ORDER BY sales desc
希望这会对你有所帮助。
但是为了这个,你必须在你的表中进行一些改动你的月份名称应该只有3个字符,因为我们按月名加入表名,你可以在表中看到有一个日期已添加,因此我们会使用DATE_FORMAT(t1.date, "%b")
将其转换为另一种格式,其中包含3个字符的名称,因此它可以为您效用
如果你不想使用第二张表,试试这个
SELECT DATE_FORMAT(t1.date, "%b") AS MONTH, SUM(t1.sales) FROM table1 AS t1 GROUP BY t1.date