《Mysql應(yīng)用mysql 月份查詢?cè)撛掠懈犊畹臄?shù)據(jù)》要點(diǎn):
本文介紹了Mysql應(yīng)用mysql 月份查詢?cè)撛掠懈犊畹臄?shù)據(jù),希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
ktime 開始時(shí)間串
dtime 到期時(shí)間串
jmonth 付費(fèi)間隔月份數(shù) 可選(1,3,6,12)
需要 按月查詢數(shù)據(jù)
好比說 ktime=1228406400(2008-12-5) dtime=1259856000(2009-12-4) jmonth=3
從2008-12-5開始,間隔3個(gè)月需要付費(fèi) 直到2009-12-5
既第一次是2008-12-5號(hào)付費(fèi)
第二次是2009-2-28號(hào)付費(fèi)(提前5天)2009-3-5
第三次是2009-5-31號(hào)付費(fèi)(提前5天)2009-6-5
第四次是2009-8-31號(hào)付費(fèi)(提前5天)2009-9-5
現(xiàn)在我要查詢2009年2月的要付費(fèi)的數(shù)據(jù)就可以把上面給查出來,
查2009年3月的要付費(fèi)的就無上面的例子
查2009年5月的也可以查出來.
代碼如下:
$stime="2009-05"; 當(dāng)前月,選擇的查詢?cè)路?
$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) or (ktime<$mintime and dtime-5*24*60*60>$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 ktime<$maxtime) 開始時(shí)間為當(dāng)前月的
ktime<$mintime and dtime-5*24*60*60>$maxtime 除開開始時(shí)間為當(dāng)前月的和到期時(shí)間為本月的
PERIOD_DIFF(".$stimes.",DATE_FORMAT(FROM_UNIXTIME(ktime-5*24*60*60),\"%Y%m\")) 當(dāng)前月與開始時(shí)間之間的間隔月份數(shù)
mod jmonth=0 當(dāng)前月與開始時(shí)間之間的間隔月份數(shù) 與 付費(fèi)的間隔月份數(shù) 取余得0的說明當(dāng)前月必要付費(fèi).
維易PHP培訓(xùn)學(xué)院每天發(fā)布《Mysql應(yīng)用mysql 月份查詢?cè)撛掠懈犊畹臄?shù)據(jù)》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/11278.html