MySQLで重複レコードのデータを並べ替える
ORDER BYを使用して、重複レコードのデータを並べ替えます。
まずテーブルを作成しましょう-
mysql> create table DemoTable788 ( FirstName varchar(100), Score int ); Query OK, 0 rows affected (1.89 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable788 values('Chris',78); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable788 values('Robert',67); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable788 values('Chris',98); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable788 values('Chris',56); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable788 values('Robert',43); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable788 values('Robert',97); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable788 values('Chris',79); Query OK, 1 row affected (0.12 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable788;
これにより、次の出力が生成されます-
+-----------+-------+ | FirstName | Score | +-----------+-------+ | Chris | 78 | | Robert | 67 | | Chris | 98 | | Chris | 56 | | Robert | 43 | | Robert | 97 | | Chris | 79 | +-----------+-------+ 7 rows in set (0.00 sec)
以下は、重複レコードのデータを並べ替えるクエリです。重複する名前「Chris」のデータを並べ替えています-
mysql> select Score from DemoTable788 where FirstName='Chris' order by Score DESC;
これにより、次の出力が生成されます-
+-------+ | Score | +-------+ | 98 | | 79 | | 78 | | 56 | +-------+ 4 rows in set (0.00 sec)
-
MySQLで重複レコードを置き換えるのに効率的な手法はどれですか?
重複するレコードを置き換え、挿入中のエラーを回避するには、INSERT ON DUPLICATEKEYUPDATEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20), -> UNIQUE(Id,Name) -> ); Query OK, 0 rows affected (0.78 sec) 挿入コマンド-
-
MySQLで特定の重複レコードのみを表示する
特定の重複レコードのみを表示するには、MySQLLIKE演算子-を使用します select *from yourTableName where yourColumnName like ‘yourValue’; まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (1.03 sec) 挿入コマンド-を使用して、テーブ