Php 正在获取特定日期范围内的文章数
我想有我的文章计数每天在特定的日期期间,所以我可以得到40个数组计数40天Php 正在获取特定日期范围内的文章数,php,mysql,Php,Mysql,我想有我的文章计数每天在特定的日期期间,所以我可以得到40个数组计数40天 CREATE TABLE IF NOT EXISTS `articles` ( `id` int(11) NOT NULL AUTO_INCREMENT, `caption` varchar(255) NOT NULL, `author_id` int(11) NOT NULL, `date_added` datetime NOT NULL, `body` text NOT NULL, `desc
CREATE TABLE IF NOT EXISTS `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`caption` varchar(255) NOT NULL,
`author_id` int(11) NOT NULL,
`date_added` datetime NOT NULL,
`body` text NOT NULL,
`description` varchar(500) NOT NULL,
`location` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `author_id` (`author_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
我不是MySQL的专家,所以我最远的目标是:
$sql = 'SELECT date_added FROM articles ';
$sql .= 'WHERE date_added > ' . '"' . $mysql_datetime_start . '" AND ';
$sql .= 'date_added < ' . '"' . $mysql_datetime_end . '" ';
$sql .= 'GROUP BY date_added ';
$sql='SELECT date_added FROM articles';
$sql.='WHERE date\u added>'“.$mysql_datetime_start.”和“;
$sql.='添加日期<'“.$mysql_datetime_end.”;
$sql.='GROUP BY date_ADTED';
然后我想进入循环,但必须有一些更好的解决方案与单一查询
这是我网站上的日历,因此一次查询可以节省大量处理器时间
希望有人能帮忙。谢谢。您可以使用MySQL的
DATE
函数来分离DATETIME
列的日期部分,然后按它分组
SELECT DATE(date_added), COUNT(*) FROM articles
WHERE date_added BETWEEN $mysql_datetime_start AND $mysql_datetime_end
GROUP BY DATE(date_added);
我想这就是你想要的:
$sql =
"SELECT DATE( date_added ), count(*) FROM articles
WHERE date_added > '" . $mysql_datetime_start . "'
AND date_added < '" . $mysql_datetime_end . "'
GROUP BY DATE( date_added )"
$sql=
从文章中选择日期(添加日期),计数(*)
其中date_添加了“>”$mysql\u datetime\u启动。"'
并加上日期<'”$mysql\u datetime\u end。"'
按日期分组(添加日期)”
在使用日期时间开始和结束之前,请确保对其进行消毒