Home >Database >Mysql Tutorial >mysql 月份查询该月有付款的数据_MySQL

mysql 月份查询该月有付款的数据_MySQL

WBOY
WBOYOriginal
2016-06-01 13:20:08955browse

bitsCN.com ktime 开始时间串
dtime 到期时间串
jmonth 付费间隔月份数 可选(1,3,6,12)
需要 按月查询数据
比如说 ktime=1228406400(2008-12-5) dtime=1259856000(2009-12-4) jmonth=3
从2008-12-5开始,间隔3个月需要付费 直到2009-12-5
既第一次是2008-12-5号付费
第二次是2009-2-28号付费(提前5天)2009-3-5
第三次是2009-5-31号付费(提前5天)2009-6-5
第四次是2009-8-31号付费(提前5天)2009-9-5
现在我要查询2009年2月的要付费的数据就可以把上面给查出来,
查2009年3月的要付费的就无上面的例子
查2009年5月的也可以查出来。



$stime="2009-05"; 当前月,选择的查询月份。
$stimes="200905";
$mintime=1241107200(2009-05-01 00:00:00);
$maxtime=1243785600(2009-06-01 00:00:00); 月份+1
$sql="select * from t_list where del=0 and ( (ktime>={$mintime} and ktime$maxtime and PERIOD_DIFF(".$stimes.",DATE_FORMAT(FROM_UNIXTIME(ktime-5*24*60*60),/"%Y%m/")) mod jmonth=0) ) order by ktime desc";


(ktime>={$mintime} and ktimektime$maxtime 除开开始时间为当前月的和到期时间为本月的
PERIOD_DIFF(".$stimes.",DATE_FORMAT(FROM_UNIXTIME(ktime-5*24*60*60),/"%Y%m/")) 当前月与开始时间之间的间隔月份数
mod jmonth=0 当前月与开始时间之间的间隔月份数 与 付费的间隔月份数 取余得0的说明当前月需要付费。bitsCN.com

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn