MySQL で 2 つの日付間のデータを取得するときに欠落している日付を設定する
MySQL では、BETWEEN 演算子を使用して 2 つの日付間のデータを選択する場合、指定された範囲内の一部の日付には、対応するデータがない可能性があります。これにより、クエリ結果に空の行または欠落行が生じる可能性があります。
問題ステートメント:
次に示すように、日付に関連付けられたデータを含む "tbl" という名前のテーブルについて考えます。 :
Date | Data |
---|---|
2009-06-25 | 75 |
2009-07-01 | 100 |
2009-07-02 | 120 |
「2009-06-25」から「2009-06-25」までのすべてのデータを取得したい場合次のクエリを使用した '2009-07-01':
SELECT data FROM tbl WHERE date BETWEEN '2009-06-25' AND '2009-07-01';
クエリは、指定された範囲内の既存のデータを含む行のみを返します。これは、「2009-06-26」、「2009-06-27」、「2009-06-28」などのデータのない日付は結果から除外されることを意味します。
解決策: 欠落している日付を入力するためのカレンダー テーブル
この問題に対処し、すべての日付を含めるには指定された範囲内では、データの有無に関係なく、「カレンダー テーブル」として知られる概念を利用できます。これらのテーブルは、指定された間隔内で一連の日付を生成するのに役立ち、基本的にすべての可能な日付の「疑似」テーブルとして機能します。
MySQL でカレンダー テーブルを作成する方法の例を次に示します。
-- Create a table with integers from 0 to 9 CREATE TABLE ints (i INTEGER); INSERT INTO ints VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9); -- Generate a sequence of dates from '2009-06-25' to '2009-07-01' SELECT '2009-06-25' + INTERVAL a.i * 10 + b.i DAY AS date FROM ints a JOIN ints b WHERE date BETWEEN '2009-06-25' AND '2009-07-01';
カレンダー テーブルを作成したら、データ テーブルとの左結合を実行して、欠落している日付を入力できます。更新されたクエリは次のとおりです。
SELECT cal.date, tbl.data FROM ( SELECT '2009-06-25' + INTERVAL a.i * 10 + b.i DAY AS date FROM ints a JOIN ints b WHERE date BETWEEN '2009-06-25' AND '2009-07-01' ) cal LEFT JOIN tbl ON cal.date = tbl.date WHERE cal.date BETWEEN '2009-06-25' AND '2009-07-01';
このクエリは、「tbl」テーブルにデータがない日付も含め、指定された範囲内のすべての日付を取得します。データが欠落している日付の「データ」列には NULL 値が入ります。
以上がMySQL クエリで 2 つの日付の間に欠落している日付を入力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、DockerのMySQLメモリ使用量を最適化することを調査します。 監視手法(Docker統計、パフォーマンススキーマ、外部ツール)および構成戦略について説明します。 これらには、Dockerメモリの制限、スワッピング、およびcgroupsが含まれます

この記事では、MySQLの「共有ライブラリを開くことができない」エラーについて説明します。 この問題は、必要な共有ライブラリ(.so/.dllファイル)を見つけることができないMySQLの障害に起因しています。ソリューションには、システムのパッケージMを介してライブラリのインストールを確認することが含まれます。

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

この記事では、PHPMyAdminの有無にかかわらず、LinuxにMySQLを直接インストールするのとPodmanコンテナを使用します。 それは、各方法のインストール手順を詳述し、孤立、携帯性、再現性におけるポッドマンの利点を強調しますが、

この記事では、自己完結型のサーバーレスリレーショナルデータベースであるSQLiteの包括的な概要を説明します。 SQLiteの利点(シンプルさ、移植性、使いやすさ)と短所(同時性の制限、スケーラビリティの課題)を詳しく説明しています。 c

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

このガイドは、HomeBrewを使用してMacOSに複数のMySQLバージョンをインストールおよび管理することを示しています。 Homebrewを使用して設置を分離し、紛争を防ぐことを強調しています。 この記事では、インストール、開始/停止サービス、および最高のPRAを詳述しています

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
