Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да намерите дублиращи се записи в MySQL

Понякога може да се наложи да намерите дублиращи се записи в MySQL. Ето как да получите дублиращи се записи в таблица. Можете да го използвате, за да получите редове с дублиращи се стойности в MySQL

Как да намерим дублиращи се стойности в MySQL

Ето стъпките за получаване на дублиращи се записи в MySQL. Да приемем, че имате следната MySQL таблица с дублиращи се записи.

mysql> създайте таблица dup_orders(id int, amount int);mysql> вмъкнете в dup_orders(id,amount) стойности(1, 100),(1,250),(2,350),(2,350);mysql> изберете * от dup_orders;+------+-------+| ID | сума |+------+-------+| 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 |+------+-------+

Бонус четене:MySQL Добавяне на уникално ограничение

Намиране на дублиращи се стойности на ред в една колона

Ето SQL заявката за намиране на дублиращи се стойности за една колона

ИЗБЕРЕТЕ col, COUNT(col)FROM table_nameGROUP BY colHAVING COUNT(col)> 1;

В горната заявка правим GROUP BY за колоната, за която искаме да проверим дубликати. Ние също така използваме клауза COUNT() и HAVING, за да получим броя на редовете за всяка група.

Бонус четене:MySQL Преименуване на колона

Нека приложим горната заявка за нашите dup_orders таблица, за да получите дублиращи се стойности за id колона

mysql> изберете идентификатор, сума от група dup_orders по идентификатор с count(id)>1;+------+--------+| ID | сума |+------+-------+| 1 | 100 || 2 | 350 |+------+-------+

Намиране на дублиращи се стойности на редове в множество колони

Ето SQL заявката за намиране на дублиращи се стойности за множество колони

ИЗБЕРЕТЕ col1, col2,..., COUNT(*)ОТ table_nameGROUP BY col1, col2, ...ИМАТЕ (COUNT(col1)> 1) И (COUNT(col2)> 1) И ... 

В горната заявка правим GROUP BY на всички колони (col1, col2 ), за които искаме да намерим дубликати. Ние също така използваме клауза COUNT() и HAVING, за да получим броя на редовете за всяка група.

Бонус четене:Как да дублирам таблица в MySQL

Нека приложим горната заявка за нашите dup_orders таблица, за да получите дублиращи се стойности за id и сума колона

mysql> изберете идентификатор, сума, брой(*) от dup_orders група по идентификатор, сума, която има count(id)>1 и count(amount)>1;+------+------ --+---------+| ID | сума | брой(*) |+------+-------+----------+| 2 | 350 | 2 |+------+--------+---------+

Надяваме се, че сега можете лесно да получите дублиращи се записи в MySQL.

Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавите ограничение NOT NULL в MySQL

  2. MySQL:Алтернативи за ПОРЪЧВАНЕ ПО RAND()

  3. Създаване на високодостъпна база данни за Moodle с помощта на MySQL репликация

  4. Защо редовете, връщани чрез обяснение, не са равни на count()?

  5. Създаване на уеб приложение от нулата с помощта на Python Flask и MySQL:Част 2