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

JOINSを使用して、MySQLテーブルで使用可能な重複値を見つけるにはどうすればよいですか?


'stock_item'という名前の次のテーブルがあり、列の数量の値が重複しているとします。つまり、アイテム名'Notebooks'と'Pencil'の場合、列'Quantity'の値は重複しています'40'です。

mysql> Select * from stock_item;
+------------+----------+
| item_name  |quantity  |
+------------+----------+
| Calculator |       89 |
| Notebooks  |       40 |
| Pencil     |       40 |
| Pens       |       32 |
| Shirts     |       29 |
| Shoes      |       29 |
| Trousers   |       29 |
+------------+----------+
7 rows in set (0.00 sec)

これで、MySQL JOINSを使用した次のクエリを使用して、アイテムの名前とともに「数量」列で重複する値を見つけることができます。

mysql> Select distinct g.item_name,g.quantity from stock_item g
   -> INNER JOIN Stock_item b ON g.quantity = b.quantity
   -> WHERE g.item_name<>b.item_name;
+-----------+----------+
| item_name | quantity |
+-----------+----------+
| Pencil    |       40 |
| Notebooks |       40 |
| Shoes     |       29 |
| Trousers  |       29 |
| Shirts    |       29 |
+-----------+----------+
5 rows in set (0.00 sec)

  1. MySQLテーブルの列数を見つける方法は?

    MySQLテーブルの列数を見つけるには、information_schema.columnsおよびWHERE句を指定したcount(*)関数を使用します。例を見てみましょう。 テーブルを作成します。 mysql> create table NumberOfColumns -> ( -> id int, -> FirstName varchar(100), -> LastName varchar(100), -> Age int, -> Address varchar(100) -> ); Query

  2. LEFT JOINを使用してMySQLテーブルから重複する値を削除するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    FirstName varchar(100) ); Query OK, 0 rows affected (0.46 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(FirstName) values('Chris'); Query OK, 1 r