我有一个包含以下字段的表:
- 编号
- 销售额
- the_date(unix 时间戳整数)
- payment_type(可以是现金,或账户)
我正在尝试创建一个查询,该查询将按一年中的每周对所有销售额进行分组,然后在我的页面上拆分每周的 amount_sales 总和。
例子:
week 1 = $26.00
week 2 = $35.00
week 3 = $49.00
等我正在使用此查询,但它不起作用:
SELECT SUM(`amount_sale`) as total
FROM `sales`
WHERE `payment_type` = 'Account'
GROUP BY WEEK(`the_date`)
最佳答案
如果将 the_date
存储为整数,首先需要使用 FROM_UNIXTIME
函数将其转换为日期时间:
SELECT SUM(`amount_sale`) as total
FROM `sales`
WHERE `payment_type` = 'Account'
GROUP BY WEEK(FROM_UNIXTIME(`the_date`))
更新:
此外,您可能想要输出周数,
SELECT CONCAT('Week ', WEEK(FROM_UNIXTIME(`the_date`))) as week_number,
SUM(`amount_sale`) as total
FROM `sales`
WHERE `payment_type` = 'Account'
GROUP BY WEEK(FROM_UNIXTIME(`the_date`))
关于mysql按周分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6710342/