MySQLで特定の日付のレコード数をカウントする方法
MySQLでは、COUNT(*)関数とWHERE句を組み合わせることで、特定の日付に該当するレコードの件数を簡単に取得できます。この記事では、サンプルテーブルを作成し、指定した日付のデータ件数をカウントする手順を順番に解説します。
1. サンプルテーブルの作成
まず、日付型(DATE)のカラムを持つテーブルを作成しましょう。
mysql> create table DemoTable1946 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)
2. レコードの挿入
次に、INSERT文を使って複数のレコードを登録します。ここでは、同じ日付「2019-12-11」を意図的に重複させて登録しています。
mysql> insert into DemoTable1946 values('2019-12-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1946 values('2018-12-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1946 values('2017-12-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1946 values('2019-04-22');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1946 values('2019-12-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1946 values('2015-12-11');
Query OK, 1 row affected (0.00 sec)
3. 登録したレコードの確認
SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。
mysql> select * from DemoTable1946;
上記のクエリを実行すると、以下のような出力が得られます。
+--------------+ | ShippingDate | +--------------+ | 2019-12-11 | | 2018-12-11 | | 2017-12-11 | | 2019-04-22 | | 2019-12-11 | | 2015-12-11 | +--------------+ 6 rows in set (0.00 sec)
合計6件のレコードが登録されており、そのうち「2019-12-11」は2件存在することが確認できます。
4. 特定の日付のカウントを取得する
それでは本題です。COUNT(*)とWHERE句、さらにDATE()関数を組み合わせて、「2019-12-11」に該当するレコードの件数を取得します。
mysql> select count(*) from DemoTable1946 where date(ShippingDate)='2019-12-11';
実行結果は以下の通りです。
+----------+ | count(*) | +----------+ | 2 | +----------+ 1 row in set (0.00 sec)
このように、「2019-12-11」のレコードが2件であることがわかりました。
ポイント解説
DATE()関数を使用することで、カラムがDATETIME型の場合でも時刻部分を無視して、日付部分だけを比較できます。これにより、時刻が異なる同一日付のレコードも正確にカウント可能です。なお、カラムが純粋なDATE型であれば、where ShippingDate='2019-12-11'のように直接比較しても同じ結果が得られます。
-
JavaでMySQLテーブルのカラム数を取得・カウントする方法
MySQLテーブルのカラム(列)数をJavaで取得するには、ResultSetMetaDataインターフェースを使用します。ResultSetMetaDataを活用すれば、カラムの総数だけでなく、各カラムの名前やデータ型といった詳細情報も簡単に取得できます。前提:サンプルテーブルの作成まずは動作確認用のテーブルを作成しましょう。以下のSQLでは、3つのカラムを持つ「DemoTable」を作成しています。mysql> create table DemoTable -> ( -> St
-
MySQLで特定の値を持つ列の数をカウントする方法【SUM関数の活用】
はじめにMySQLでは、SUM関数と加算演算子(+)・論理演算子(AND)を組み合わせることで、テーブル内の複数の列に含まれる特定の値(たとえば「1」)の合計個数や、すべての列がその値を持つ行数を簡単に集計できます。本記事では、サンプルテーブルを作成しながら、具体的なSQLクエリの書き方と実行結果をわかりやすく解説します。基本構文特定の値を持つ列の数をカウントする場合、以下のような構文を使用します。selectsum(yourColumnName1 + yourColumnName2 + yourColumnName3 ... N) as `anyAliasName1`,sum(yourCol