ホームページ  >  記事  >  データベース  >  INTERVAL と CURDATE を使用すると、MySQL の日付範囲クエリをどのように簡素化できますか?

INTERVAL と CURDATE を使用すると、MySQL の日付範囲クエリをどのように簡素化できますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-27 03:36:29464ブラウズ

How can INTERVAL and CURDATE simplify date range queries in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。