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

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)

  1. MySQLで重複レコードを置き換えるのに効率的な手法はどれですか?

    重複するレコードを置き換え、挿入中のエラーを回避するには、INSERT ON DUPLICATEKEYUPDATEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int,    -> Name varchar(20),    -> UNIQUE(Id,Name)    -> ); Query OK, 0 rows affected (0.78 sec) 挿入コマンド-

  2. MySQLで特定の重複レコードのみを表示する

    特定の重複レコードのみを表示するには、MySQLLIKE演算子-を使用します select *from yourTableName where yourColumnName like ‘yourValue’; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Name varchar(20)    -> ); Query OK, 0 rows affected (1.03 sec) 挿入コマンド-を使用して、テーブ