MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで時間に関係なく日付でグループ化するにはどうすればよいですか?


テーブルに同じ日付があり、それぞれの時刻の値が異なる場合は、GROUPBYDATEを使用して簡単にグループ化できます。

まずテーブルを作成しましょう-

mysql> create table DemoTable692 (DueDatetime datetime);
Query OK, 0 rows affected (0.97 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します:

mysql> insert into DemoTable692 values('2019-07-21 10:20:00');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable692 values('2019-06-11 11:00:10');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable692 values('2019-07-21 11:00:10');
Query OK, 1 row affected (1.97 sec)
mysql> insert into DemoTable692 values('2019-07-21 12:10:10');
Query OK, 1 row affected (0.18 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します:

mysql> select *from DemoTable692;

これにより、次の出力が生成されます-

+---------------------+
| DueDatetime         |
+---------------------+
| 2019-07-21 10:20:00 |
| 2019-06-11 11:00:10 |
| 2019-07-21 11:00:10 |
| 2019-07-21 12:10:10 |
+---------------------+
4 rows in set (0.00 sec)

これは、時間に関係なくGROUPBYDATEへのクエリです-

mysql> select *from DemoTable692 GROUP BY DATE(DueDatetime);

これにより、次の出力が生成されます-

+---------------------+
| DueDatetime         |
+---------------------+
| 2019-07-21 10:20:00 |
| 2019-06-11 11:00:10 |
+---------------------+
2 rows in set (0.00 sec)

  1. MySQLで文字列を時間に変換する方法は?

    フォーマット指定子を使用できます。以下は構文です- select str_to_date(yourColumnName,'%d/%m/%Y %h:%i %p') as anyAliasName from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> DueDate varchar(100)    -> ); Query OK, 0 rows affected (0.51 sec) 挿入コマ

  2. MySQLで日付形式を変換する方法は?

    日付形式を変換するには、STR_TO_DATE()-を使用します mysql> create table DemoTable2010 (    DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2010 values('12/10/2019 12:34:00'); Query OK, 1 row affected (0.13 sec) mysql>