作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要比较本周和去年同一周的财务数据..我的表格是
amount storecode date
0.00 0000000001 2010-12-21 14:01:00
0.00 0000000001 2010-12-21 14:01:00
0.00 0000000001 2010-12-21 14:57:50
10.00 0000000001 2010-12-21 14:57:50
2.35 0000000001 2010-12-21 14:57:50
45.00 0000000001 2010-12-21 14:57:50
0.00 0000000001 2010-12-21 14:57:50
-10.00 0000000001 2010-12-21 14:57:50
-2.35 0000000001 2010-12-21 14:57:50
-45.00 0000000001 2010-12-21 14:57:50
...................etc...etc to 2014
我尝试了许多不同的时间间隔,但我找不到准确的东西让我的老板看到本周与去年同一周之间的比较。
我什至尝试将其与另一个表连接起来,以便为存储代码提供非文字视觉表示,而不是数字形式
SELECT distinct(`stores`.`StoreLocation`) as branch, SUM(`TRANSACTIONS`.`Amount`) as AmountTendered , DATE(`TRANSACTIONS`.`Date`) as Dates FROM transactions LEFT JOIN stores ON stores.StoreCode = transactions.Storecode WHERE DATE_SUB(CURDATE(),INTERVAL 1 year) <= DATE(Date) group by YEAR(Date)
最佳答案
您听起来没有信心了解自己想要的方式(或者更具体地说,您的老板希望如何将一年中的周值与另一年的周值关联起来(主要按月和和它可能会在一周或两周内发布)。
这是基于您共享的数据的起点
去年报告示例
SELECT YEAR(`date`) AS `year`
, WEEKOFYEAR(`date`) AS weekno
,Storecode AS storecode
, SUM(amount) AS amount
FROM transactions
WHERE YEAR(`date`) = YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR))
GROUP BY YEAR(`date`), WEEKOFYEAR(`date`), Storecode
这是该查询的比较示例
SELECT this.storecode
, this.weekno
, this.amount AS current_amount
, history.amount AS past_amount
FROM (SELECT YEAR(`date`) AS `year`
, WEEKOFYEAR(`date`) AS weekno
,Storecode AS storecode
, SUM(amount) AS amount
FROM transactions
WHERE YEAR(`date`) = YEAR(NOW())
GROUP BY YEAR(`date`), WEEKOFYEAR(`date`), Storecode) AS this
JOIN (SELECT YEAR(`date`) AS `year`
, WEEKOFYEAR(`date`) AS weekno
,Storecode AS storecode
, SUM(amount) AS amount
FROM transactions
WHERE YEAR(`date`) = YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR))
GROUP BY YEAR(`date`), WEEKOFYEAR(`date`), Storecode) AS history
ON this.weekno = history.weekno
AND this.storecode = history.storecode;
关于mysql - 本周与去年同周财务数据对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22986618/
从存储过程中,我得到的数据的列名如 Last year 和 01、02、03 ... 在第一种情况下,列名由两个单词组成,在其他情况下,列名是带前导零的数字。我知道这个存储过程的设计者做了一些愚蠢的事
我正在尝试使用 php DateTime 对象创建一个显示去年、今年和下一年的保管箱。 在我当前的代码中,我创建了三个对象,并且必须对其中的两个对象调用一个方法。这似乎对资源有点沉重。 $today
我有一个名为 sales 的表,如下所示: s.no item_sold date 1 soap 25.07.2017 2
我是一名优秀的程序员,十分优秀!