Понякога може да се наложи да намерите дублиращи се записи в 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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!