我想显示过去六个月的SQL查询结果,并显示结果的月份和年份,我将显示的代码不完整,因为事实上它已经更长但我已经尝试过了给出最重要的部分..我用这个函数返回查询(参数$k是间隔...):
我有一个循环,增加$ k,以便我可以进行六个月的查询:
for($i=0;$i<=5;$i++){
$requete = query($i);
SQL_QUERY($requete); // the function that executes the query
}
Run Code Online (Sandbox Code Playgroud)
我可以得到过去几个月的结果,直到1月但不是12月,因为这一年是2012年而不是2013年.
我试图做到这一点,以便在月份为12时,当年将是当前年份-1:
function print_date($y_m){
foreach($y_m as $row){
echo $row[0];
if ($row[0] == 12){
$_SESSION["y"]= $_SESSION["y"]+1;
echo $_SESSION["y"];
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,:/有人知道如何能够做到这一点?
您可以使用以下简单的SQL查询获取过去六个月的数据:
SELECT SRC as SOURCE FROM mytable
WHERE TYPE = 'SMS'
AND date >= DATE_SUB(NOW(), INTERVAL 6 month)
Run Code Online (Sandbox Code Playgroud)
如果您需要一个月,您可以修改查询:
SELECT SRC as SOURCE FROM mytable
WHERE TYPE = 'SMS'
AND YEAR(date) = DATE_SUB(NOW(), INTERVAL $k month)
AND MONTH(date) = DATE_SUB(NOW(), INTERVAL $k month)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |