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

列名でグループ化し、クエリがMySQLの最後の更新を確実に取得するようにするにはどうすればよいですか?


最初にテーブルを作成しましょう-

mysql> create table DemoTable621 (UserName varchar(100),UserEmailId varchar(100),UserLastPost datetime);
Query OK, 0 rows affected (0.59 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable621 values('John','John@gmail.com','2019-04-10 11:01:10');
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable621 values('John','John@gmail.com','2019-07-14 13:07:10');
Query OK, 1 row affected (0.15 sec)

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

mysql> select *from DemoTable621;

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

+----------+----------------+---------------------+
| UserName | UserEmailId    | UserLastPost        |
+----------+----------------+---------------------+
| John     | John@gmail.com | 2019-04-10 11:01:10 |
| John     | John@gmail.com | 2019-07-14 13:07:10 |
+----------+----------------+---------------------+
2 rows in set (0.00 sec)

以下は、列名でグループ化し、クエリが最後の更新を取得することを確認するためのクエリです-

mysql> select UserName,UserEmailId,max(UserLastPost) from DemoTable621 group by UserName,UserEmailId;

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

+----------+----------------+---------------------+
| UserName | UserEmailId    | max(UserLastPost)   |
+----------+----------------+---------------------+
| John     | John@gmail.com | 2019-07-14 13:07:10 |
+----------+----------------+---------------------+
1 row in set (0.19 sec)

  1. MySQLから列名とタイプを抽出する方法は?

    列名とタイプを抽出するには、INFORMATION_SCHEMA.COLUMNS-を使用します select concat(column_name,'=',data_type) as anyAliasName from information_schema.columns where table_schema= yourDatabaseName and table_name= yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1812      (   &nbs

  2. MySQLでテーブルを更新し、新しい列にイニシャル名のみを表示します

    イニシャルを取得するには、substring_index()とともにleft()の概念を使用します。 テーブルを作成しましょう- mysql> create table demo13 −> ( −> full_name varchar(100), −> short_name varchar(20) −> ); Query OK, 0 rows affected (1.18 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo13(fu