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

MySQLで重複レコードを見つけて表示しますか?


まず、CREATEコマンドを使用してテーブルを作成します。これは次のように与えられます-

mysql> CREATE table DuplicateFound
-> (
-> ID int,
-> Name varchar(100),
-> Location varchar(200)
-> );
Query OK, 0 rows affected (0.45 sec)

テーブルを作成した後、INSERTコマンドを使用してレコードを挿入します-

mysql> INSERT into DuplicateFound values(1,'John','US');
Query OK, 1 row affected (0.10 sec)

mysql> INSERT into DuplicateFound values(2,'Bob','UK');
Query OK, 1 row affected (0.18 sec)

mysql> INSERT into DuplicateFound values(3,'David','US');
Query OK, 1 row affected (0.14 sec)

mysql> INSERT into DuplicateFound values(4,'Smith','US');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into DuplicateFound values(5,'Carol','UK');
Query OK, 1 row affected (0.16 sec)

レコードは、SELECTステートメントを使用して表示されます。これを以下に示します-

mysql> SELECT * from DuplicateFound;

得られた出力は次のとおりです-

+------+-------+----------+
| ID   | Name  | Location |
+------+-------+----------+
| 1    | John  | US       |
| 2    | Bob   | UK       |
| 3    | David | US       |
| 4    | Smith | US       |
| 5    | Carol | UK       |
+------+-------+----------+
5 rows in set (0.00 sec)

重複するレコードを一緒に見つけて表示するためのクエリは、次のように与えられます-

mysql> SELECT * from DuplicateFound
-> where location in (select location from DuplicateFound group by location having count(location) >1 )
-> order by location;

得られた出力は次のとおりです

+------+-------+----------+
| ID   | Name  | Location |
+------+-------+----------+
| 2    | Bob   | UK       |
| 5    | Carol | UK       |
| 1    | John  | US       |
| 3    | David | US       |
| 4    | Smith | US       |
+------+-------+----------+
5 rows in set (0.06 sec)

1つの場所に属するレコードを表示できます。これは次のように与えられます-

mysql> select Name,location from DuplicateFound
-> group by location
-> having count(location) > 1;

以下は出力です

+------+----------+
| Name | Location |
+------+----------+
| John | US       |
| Bob   | UK      |
+------+----------+
2 rows in set (0.04 sec)

  1. MySQLでURLレコードの一部を見つけて置き換えますか?

    レコードを置き換える最も簡単な方法は、MySQL REPLACE()-を使用することです。 mysql> create table DemoTable2025    -> (    -> URL text    -> ); Query OK, 0 rows affected (0.88 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2025 values('http=//www.facebook.com

  2. MySQLでTRUEFALSEレコードを01として表示する

    0と1の値を表示するには、列をBOOLEANに設定します。テーブルを作成しましょう- mysql> create table DemoTable2035    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> Name varchar(20),    -> isMarried boolean,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows