1、UNION
10年積累的網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有三臺免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
2、若是innodb分表,則可以用merge處理。
直接搞一張專門針對統(tǒng)計數(shù)據(jù)用的匯總表
如果可能的話,不要采用分表的設(shè)計,采用表分區(qū),這樣就對于查詢就不需要特殊處理了。規(guī)劃好索引,性能應(yīng)該不會有問題。
?php
$m = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y'))); //上個月的開始日期
echo $m."br";
$t = date('t',strtotime($m)); //上個月共多少天
echo $t."br";
$start = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y'))); //上個月的開始日期
$end = date('Y-m-d', mktime(0,0,0,date('m')-1,$t,date('Y'))); //上個月的結(jié)束日期
?
查詢的時候就查詢?nèi)掌谠?start到$end之間的數(shù)據(jù)就是上個月的數(shù)據(jù)了。
得到下個月的1號,然后減1,就是該月的最后一天啊,然后時間在該月1號和剛剛得到的時間戳之間就滿足條件
先說原理,首先就是根據(jù)你表里面記錄時間的字段的格式要方便些,還有你是一三十天為一個單位還是安裝自然月為一個月。不論那種你也可以多種方式就是選擇要顯示的時間。那么就比較復(fù)雜,不過都大同小異。你可以可以用正則對時間進行處理,之后得到你的數(shù)據(jù)庫表數(shù)據(jù)調(diào)用循環(huán)范圍。然后對日期進行分類,之后每個分類里面的錢數(shù)進行相加。要做好也挺麻煩主要是要顧慮各種情況。不懂再問我把,就說這些了。
可按日期分組,如:
select?count(1)?from?table_name?group?by?date_format(date,'%y-%m-%d');
說明 : 統(tǒng)計每天數(shù)據(jù)量,table_name 表名 date 分組日期字段