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

MySQLでタイムスタンプで並べ替える方法は?


タイムスタンプで並べ替えるには、次の構文のようにORDERBYを使用します-

select *from yourTableName ORDER BY STR_TO_DATE(`yourColumnName`,'%m/%d/%Y%h:%i:%s %p');

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

mysql> create table DemoTable
   -> (
   -> `timestamp` varchar(100)
   -> );
Query OK, 0 rows affected (0.56 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('06/22/2019 01:10:20 PM');
Query OK, 1 row affected (0.13 sec)

mysql> insert into DemoTable values('06/22/2019 12:00:27 PM');
Query OK, 1 row affected (0.26 sec)

mysql> insert into DemoTable values('06/22/2019 06:56:20 AM');
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable values('06/22/2019 07:10:11 AM');
Query OK, 1 row affected (0.15 sec)

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

mysql> select *from DemoTable;

出力

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

+------------------------+
| timestamp              |
+------------------------+
| 06/22/2019 01:10:20 PM |
| 06/22/2019 12:00:27 PM |
| 06/22/2019 06:56:20 AM |
| 06/22/2019 07:10:11 AM |
+------------------------+
4 rows in set (0.00 sec)

以下は、MySQLのタイムスタンプで並べ替えるクエリです-

mysql> select *from DemoTable ORDER BY STR_TO_DATE(`timestamp`,'%m/%d/%Y%h:%i:%s %p');

出力

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

+------------------------+
| timestamp              |
+------------------------+
| 06/22/2019 06:56:20 AM |
| 06/22/2019 07:10:11 AM |
| 06/22/2019 12:00:27 PM |
| 06/22/2019 01:10:20 PM |
+------------------------+
4 rows in set (0.00 sec)

  1. MySQLでタイムスタンプが設定されているかどうかを確認するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable855(DueDate timestamp); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable855 values('2019-08-07'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable855 values('0000-00-

  2. MySQLでグループ化されたフィールドで並べ替える方法は?

    グループ化されたフィールドをORDERBYするには、IN()とともにORDERBYCASEを使用します。 CASEはさまざまな条件を評価しますが、ORDERBYは値を昇順または降順で並べ替えます。 MySQL IN()は、一致するものを見つけるために使用されます。 まずテーブルを作成しましょう- mysql> create table DemoTable (    Value varchar(40) ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>