mysql – 每半个月日期范围的Group-By
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 每半个月日期范围的Group-By,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1099字,纯文字阅读大概需要2分钟。
内容图文
![mysql – 每半个月日期范围的Group-By](/upload/InfoBanner/zyjiaocheng/892/3d9aec4128254edc9d9b6ff794644a06.jpg)
我需要一个查询帮助,按月分组所有按月分组的值.
试:
SELECT sum(price) From table WHERE ADD_DATE( date, INTERVAL 15 DAY);
预期结果:
Jan Day 1 - 15 = 5.2
Jan Day 16 - 31 = 80.4
Feb Day 1 - 15 = 50
Feb Day 16 - 28 = 80.2
.....
解决方法:
这基本上是从1月15日和16日末分解的提取物.
MySQL有一个很好的简单函数“Last_Day()”,它返回给定月份的最后一天
select
CONCAT( DATE_FORMAT(`date`, '%b %Y Day ' ),
case when dayofmonth( `date` ) < 16
then '01-15'
else CONCAT( '16-', right( last_day( `date` ), 2) )
end ) as CharMonth,
sum( price ) as TotalPrice
from
invoice
group by
CharMonth
order by
year( `date` ),
month( `date` ),
min( dayofmonth( `date` ))
以上将展示一个例子
CharOfMonth TotalPrice
Dec 2011 Day 01-15 226.98
Dec 2011 Day 16-31 108.12
Jan 2012 Day 01-15 983.08
Jan 2012 Day 16-31 235.02
Feb 2012 Day 01-15 271.29
Feb 2012 Day 16-29 382.91
Mar 2012 Day 01-15 900.28
在这个示例中,跨越一年的订单的目的是确保2012年之前的所有2011年.随后,我不希望在“Jan”之前出现“Feb”的alpha顺序的月份,甚至是01-15和16- ??可以换成顺序,所以我明确地按每个组内的年(),月()和最小日排序…即:强制组内最低日数据…即:1-15 vs 16 to随你…
内容总结
以上是互联网集市为您收集整理的mysql – 每半个月日期范围的Group-By全部内容,希望文章能够帮你解决mysql – 每半个月日期范围的Group-By所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。