php查询每天的数据进行汇总,关于php:如何在一年内每天只使用一个查询来获取数据?...
我希望在一年內每天都得到數據,但是我必須每天使用365個查詢,例如:
for ($i = 0; $i<365; $i++){
$end_day = ...; // the end time of each day
$start_day = ...; // the start time of each day
$query = select count(*)....where created < $end_day AND created > $start_day
}
我認為我目前的解決方案使系統非常緩慢。有沒有辦法只使用一個查詢?
假設您創建的列是日期時間或時間戳,并且存儲的數據比一天更精確:
選擇計數(*)…按年(創建)、月(創建)、日(創建)分組
Count是一個聚合函數,將應用于每個組,即每個組有一行,該行將具有該組中的記錄數。因為我們每天都要創建一個組,所以這是您需要的數據。
您不能只按天分組(已創建),因為天返回月份的日期,所以我們還需要輸入月份和年份以確保日期是離散的。
您可能希望有一個where created>$start和created
參考文獻:
MySQL查詢組(按天/月/年)
http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html
您可以使用group by子句。http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html
如果日期中有時間,則必須對其進行格式化,才能只獲取日期(http://dev.mysql.com/doc/refman/5.1/en/date and time functions.html function誑date-format)
select count(*), created from my_table group by created
如果它已經是日期時間列:
SELECT COUNT(*),DATE(created) as d ..... GROUP BY d;
如果它存儲為UNIX時間戳:
SELECT COUNT(*),DATE(FROM_UNIXTIME(created)) as d ..... GROUP BY d;
基本上,您可以使用mysql日期和時間函數來格式化列,這樣您就可以從中得到一個日期,然后按這些日期分組,以獲得每個日期的計數。
總結
以上是生活随笔為你收集整理的php查询每天的数据进行汇总,关于php:如何在一年内每天只使用一个查询来获取数据?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php解决链接 amp,php处理替换链
- 下一篇: php文件改写nodejs,node.j