Tra*_*Guy 3 mysql sql datetime
我的MySQL表包含以下列:datetime,price_paid.我正在尝试计算一周中每天的平均销售额,介于两个日期之间.这意味着我需要选择销售总额,在startDate和endDate之间,按工作日分组,并除以每个工作日在该范围内发生的次数.
我得到了第一部分:
SELECT DATE_FORMAT(datetime, '%a') AS field1,
round(SUM(price_paid)/ THEVALUEIMLOOKINGFOR ) AS field2
FROM Bills
WHERE date(datetime) BETWEEN '2012-01-02' AND '2012-01-09'
GROUP BY weekday(datetime)
Run Code Online (Sandbox Code Playgroud)
我没有的是缺失值:我应该除以的数字 - 每天出现在该范围内的次数.我尝试了几种解决方案,但无济于事.
有人可以帮我完成我的SQL语句吗?
谢谢你的时间!
也许我太简单了,但考虑到你已经在工作日进行分组,不会只计算(*)在每个工作日计算该范围内给定工作日的数量?
所以:
SELECT DATE_FORMAT(datetime, '%a') AS field1,
round(SUM(price_paid)/ COUNT(DISTINCT(date(datetime))) ) AS field2
FROM Bills
WHERE date(datetime) BETWEEN '2012-01-02' AND '2012-01-09'
GROUP BY weekday(datetime)
Run Code Online (Sandbox Code Playgroud)
编辑所以不要在同一天多次超额计算(感谢DRapp)
| 归档时间: |
|
| 查看次数: |
5361 次 |
| 最近记录: |