sql >> Databasteknik >  >> RDS >> Mysql

Hur man hittar dubbletter av poster i MySQL

Ibland kan du behöva hitta dubbletter av poster i MySQL. Så här får du dubbletter av poster i en tabell. Du kan använda den för att få rader med dubbletter av värden i MySQL

Hur man hittar dubbletter av värden i MySQL

Här är stegen för att få dubbletter av poster i MySQL. Låt oss säga att du har följande MySQL-tabell med dubbletter av poster.

mysql> skapa tabell dup_orders(id int, mängd int);mysql> infoga i dup_orders(id,amount) värden(1, 100),(1,250),(2,350),(2,350);mysql> välj * från dup_orders;+------+--------+| id | belopp |+------+--------+| 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 |+------+--------+

Bonusläsning:MySQL Lägg till unik begränsning

Hitta dubbletter av radvärden i en kolumn

Här är SQL-frågan för att hitta dubbletter av värden för en kolumn

VÄLJ kol, ANTAL(kol) FRÅN tabellnamnGROUP EFTER kol ATT HA ANTAL(kol)> 1;

I ovanstående fråga gör vi en GROUP BY för den kolumn som vi vill kontrollera dubbletter för. Vi använder också en COUNT() och HAVING-sats för att få radantalet för varje grupp.

Bonusläsning:MySQL Byt namn på kolumn

Låt oss tillämpa ovanstående fråga för våra dup_orders tabell, för att få dubbletter av värden för id kolumn

mysql> välj id, belopp från dup_orders-gruppen efter id som har count(id)>1;+------+--------+| id | belopp |+------+--------+| 1 | 100 || 2 | 350 |+------+--------+

Hitta dubbletter av radvärden i flera kolumner

Här är SQL-frågan för att hitta dubbletter av värden för flera kolumner

VÄLJ kol1, kol2,..., ANTAL(*)FRÅN tabellnamn GRUPPA EFTER kol1, kol2, ...HA (ANTAL(kol1)> 1) OCH (ANTAL(kol2)> 1) OCH ... 

I ovanstående fråga gör vi en GROUP BY av alla kolumner (col1, col2 ) som vi vill hitta dubbletter för. Vi använder också en COUNT() och HAVING-sats för att få radantalet för varje grupp.

Bonus Läs:Hur man duplicerar tabell i MySQL

Låt oss tillämpa ovanstående fråga för våra dup_orders tabell, för att få dubbletter av värden för id och belopp kolumn

mysql> välj id, summa, count(*) från dup_orders-grupp efter id, belopp som har count(id)>1 och count(amount)>1;+------+------ --+----------+| id | belopp | count(*) |+------+--------+----------+| 2 | 350 | 2 |+------+--------+----------+

Förhoppningsvis kan du nu enkelt få dubbletter av poster i MySQL.

Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. Hur man får senaste månadsdata i MySQL

  2. Hur söker man efter ett specifikt värde i alla tabeller (PostgreSQL)?

  3. Hur man lägger till total rad i MySQL

  4. AUTONOMOUS_TRANSACTION