在 MySQL 中使用 INTERVAL 和 CURDATE
在 MySQL 中,您可以利用 INTERVAL 来简化涉及日期范围的查询。您可以使用 INTERVAL 指定相对于当前日期的范围,而不是编写多个查询来检索不同时间段的数据。
例如,要检索过去 12 个月的数据,您可以使用以下命令查询:
<code class="sql">SELECT s.GSP_nom AS nom, timestamp, AVG( v.vote + v.prix ) /2 AS avg FROM votes_serveur AS v INNER JOIN serveur AS s ON v.idServ = s.idServ WHERE s.valide =1 AND v.date > DATE_SUB(CURDATE(), INTERVAL 12 MONTH) GROUP BY s.GSP_nom ORDER BY avg DESC</code>
在此查询中,INTERVAL 12 MONTH 指定相对于当前日期的 12 个月范围。通过使用 DATE_SUB 从 CURDATE() 中减去此间隔,您可以定义范围的开始。
或者,您可以使用 DATE_ADD 将间隔添加到当前日期。例如,以下查询检索接下来 6 个月的数据:
<code class="sql">SELECT s.GSP_nom AS nom, timestamp, AVG( v.vote + v.prix ) /2 AS avg FROM votes_serveur AS v INNER JOIN serveur AS s ON v.idServ = s.idServ WHERE s.valide =1 AND v.date < DATE_ADD(CURDATE(), INTERVAL 6 MONTH) GROUP BY s.GSP_nom ORDER BY avg DESC</code>
通过了解 INTERVAL 的用法,您可以在 MySQL 中处理日期范围时简化查询。
以上是INTERVAL 和 CURDATE 如何简化 MySQL 中的日期范围查询?的详细内容。更多信息请关注PHP中文网其他相关文章!