INTERVAL 和 CURDATE 如何简化 MySQL 中的日期范围查询?

Barbara Streisand
发布: 2024-10-27 03:36:29
原创
462 人浏览过

How can INTERVAL and CURDATE simplify date range queries in MySQL?

在 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!