【发布时间】:2018-07-16 17:27:22
【问题描述】:
我正在尝试按日期对 2 个不同的表进行分组。但是,出了点问题,因为我无法按日期分组。
我有 2 个表格,第一个是“预算”,第二个是“按地区划分的销售业绩” 想法是显示所有月份(12 个月)的预算 每个月我们都有数据,我们将看到每个特定月份的销售额。
SELECT
BB.RG,
BB.YEAR,
DATE_FORMAT( BB.MONTH, '%M' ) AS `MONTH`,
SPR.Bookings,
SPR.`Bookings PY`,
SPR.Billing,
SPR.`Billing PY`,
SPR.`GP Amt`,
SPR.`GP Amt PY`,
SUM( BB.BUDGET ) AS BUDGET
FROM
BRANCH_BUDGET BB
LEFT JOIN Sales_Performance_Region SPR
ON BB.MONTH = SPR.MONTH
WHERE
BB.RG = 'FE'
AND SPR.RG = 'FE'
AND BB.YEAR = '2018'
GROUP BY
BB.MONTH
您可以在上面看到代码。由于我只有 2 个月的数据,而不是显示 12 个月,而是显示 1 月和 2 月。
我希望这个问题是有意义的。你能指导我吗?
【问题讨论】:
-
"
Sales_Performance_Region.RG = FE" 有效地将其转换为INNER JOIN。 -
您通常按您选择的列进行分组,除了那些作为设置函数的参数的列。
-
不 GROUP BY 所有非聚合列不是一个好习惯。您的代码甚至不会在任何其他 rdbms 中运行。这没有意义。