sca*_*and 8 mysql sql aggregate-functions
我有一个包含以下字段的表:
我正在尝试创建一个查询,该查询将按一年中的每个星期对所有销售进行分组,然后在我的页面上拆分每周的amount_sales总和.
例:
week 1 = $26.00
week 2 = $35.00
week 3 = $49.00
Run Code Online (Sandbox Code Playgroud)
我正在使用此查询,但它不起作用:
SELECT SUM(`amount_sale`) as total
FROM `sales`
WHERE `payment_type` = 'Account'
GROUP BY WEEK(`the_date`)
Run Code Online (Sandbox Code Playgroud)
a1e*_*x07 32
如果存储the_date为整数,则首先需要使用FROM_UNIXTIME函数将其转换为datetime :
SELECT SUM(`amount_sale`) as total
FROM `sales`
WHERE `payment_type` = 'Account'
GROUP BY WEEK(FROM_UNIXTIME(`the_date`))
Run Code Online (Sandbox Code Playgroud)
更新:
此外,您可能想要输出周数,
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`))
Run Code Online (Sandbox Code Playgroud)
尝试同时选择查询中的周数,如下所示:
SELECT SUM(`amount_sale`) as total, WEEK(`the_date`) as week
FROM `sales`
WHERE `payment_type` = 'Account'
GROUP BY week ORDER BY week ASC
Run Code Online (Sandbox Code Playgroud)
如果您有几周的时间涵盖几年,您也可以选择年份the_date并按该年份订购,例如
ORDER BY week ASC, year ASC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24351 次 |
| 最近记录: |