所以我有一个投票系统。 每当有人投票时,它会在名为'投票'的列中添加一个新行,其中包含所有详细信息+日期,时间。
在管理员面板中,我想添加一项功能,说明我们本月获得了多少票。
我该怎么做?
也许选择日期不低于CURDATE()+ 30天的所有行,如果是,请删除所有广告计数我们有多少行?
public function votesThisMonth()
{
$this->query = $this->pdo->prepare("SELECT * FROM votes WHERE date<DATE_SUB(curdate(), INTERVAL 30 DAY)");
$result = $this->query->execute();
return $result;
}
答案 0 :(得分:2)
无需删除任何内容。 MySQL可以很容易地处理大量数据。在我的工作中,我们在一些表格中有五十亿行。
在下面的查询中,只需将年份和月份更改为您要查询的当前月份。
SELECT
COUNT(*) AS num_votes
FROM
tablename
WHERE
YEAR(datecol) = YEAR(CURRENT_DATE)
AND MONTH(datecol) = MONTH(CURRENT_DATE)