是否可以在单个查询中执行此操作?

时间:2017-01-03 04:07:27

标签: mysql

我有2张桌子,第一张桌子:

Table1

这是第二张表:

Table2

期望的输出:

Jan |  1,000,000
Feb |   0.000
Mar |   0.000

是否可以使用单个查询?

2 个答案:

答案 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