ホームページ >データベース >mysql チュートリアル >INTERVAL と CURDATE を使用すると、MySQL の日付範囲クエリをどのように簡素化できますか?
MySQL での INTERVAL と CURDATE の使用
MySQL では、INTERVAL を利用して日付範囲を含むクエリを簡素化できます。さまざまな期間のデータを取得する複数のクエリを作成する代わりに、INTERVAL を使用して現在の日付を基準とした範囲を指定できます。
たとえば、過去 12 か月のデータを取得するには、次のコマンドを使用できます。 query:
<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 中国語 Web サイトの他の関連記事を参照してください。