MySQL MariaDB

MySQL tabulā atrodiet dublētas vērtības

MySQL tabulā atrodiet dublētas vērtības
Datu bāzes programma var saglabāt tabulā liekos datus, ietekmējot datu bāzes izvadi MySQL. Datu replikācija tomēr notiek dažādiem mērķiem, un, strādājot ar MySQL datu bāzi, ir svarīgi identificēt tabulas vērtību dublikātus. Vispārīgi runājot, ir gudri bieži izmantot skaidrus ierobežojumus tabulai, lai glabātu informāciju, kas novērš liekās rindas. Dažreiz MySQL datu bāzē jūs varētu vēlēties aprēķināt atkārtoto vērtību skaitu. Šajā tēmā mēs pievērsāmies šim jautājumam, kurā uzzināsiet, kā dažādos veidos atrast vērtību dublikātus un kā uzskaitīt dublikātu vērtības.

Lai sāktu, sistēmā jābūt instalētai MySQL ar tās utilītprogrammām: MySQL darbagalds un komandrindas klienta čaula. Pēc tam datu bāzes tabulās vajadzētu būt dažiem datiem vai vērtībām kā dublikātiem. Izpētīsim to ar dažiem piemēriem. Vispirms atveriet komandrindas klienta čaulu no darbvirsmas uzdevumjoslas un pēc pieprasījuma ierakstiet MySQL paroli.

Mēs esam atraduši dažādas metodes, lai tabulā atrastu dublikātus. Apskatiet tos pa vienam.

Meklēt dublikātus vienā kolonnā

Pirmkārt, jums jāzina par vaicājuma sintaksi, ko izmanto, lai pārbaudītu un uzskaitītu vienas kolonnas dublikātus.

>> Atlasīt kolonnu skaitu (kolonnu) NO tabulas GRUPAS, RAKSTOJOT kolonnu DAUDZ (kolonnas)> 1;

Šeit ir iepriekš minētā vaicājuma skaidrojums:

Mēs esam izveidojuši jaunu tabulu ar nosaukumu “dzīvnieki” savā MySQL datu bāzes “datos”, kuriem ir dublētas vērtības. Tajā ir sešas kolonnas ar dažādām vērtībām, piem.g., ID, nosaukums, suga, dzimums, vecums un cena sniedz informāciju par dažādiem mājdzīvniekiem. Izsaucot šo tabulu, izmantojot vaicājumu SELECT, mēs iegūstam zemāk redzamo izvades rezultātu MySQL komandrindas klienta čaulā.

>> SELECT * FROM dati.dzīvnieki;

Tagad mēs mēģināsim atrast liekās un atkārtotās vērtības no iepriekš minētās tabulas, izmantojot klauzulu COUNT un GROUP BY vaicājumā SELECT. Šis vaicājums uzskaitīs to mājdzīvnieku vārdus, kuri tabulā atrodas mazāk nekā 3 reizes. Pēc tam tie parādīs šos vārdus, kā norādīts zemāk.

>> SELECT name COUNT (Name) FROM dati.dzīvnieki GRUPA PĒC nosaukuma, kam ir skaits (nosaukums) < 3;

Izmantojot to pašu vaicājumu, lai iegūtu atšķirīgus rezultātus, mainot mājdzīvnieku vārdu COUNT numuru, kā parādīts zemāk.

>> SELECT name COUNT (Name) FROM dati.dzīvnieki GRUPA PĒC nosaukuma, kam ir skaits (vārds)> 3;

Lai iegūtu rezultātus par 3 mājdzīvnieku vārdu kopējām vērtībām, kā parādīts zemāk.

>> SELECT name COUNT (Name) FROM dati.dzīvnieki GRUPA PĒC nosaukuma, kam ir skaitlis (nosaukums) = 3;

Meklēt dublikātus vairākās kolonnās

Vaicājuma sintakse, lai pārbaudītu vai uzskaitītu dublikātus vairākām kolonnām, ir šāda:

>> ATLASIET kol1, COUNT (kol1), kol2, COUNT (kol2) NO tabulas GRUPAS PĒC kol1, kol2 HAVING COUNT (col1)> 1 UN COUNT (col2)> 1;

Šeit ir iepriekš minētā vaicājuma skaidrojums:

Mēs izmantojām to pašu tabulu ar nosaukumu “dzīvnieki”, kurām ir dublētas vērtības. Mēs saņēmām zemāk redzamo rezultātu, vienlaikus izmantojot iepriekš minēto vaicājumu, lai pārbaudītu vērtību dublikātus vairākās kolonnās. Mēs esam pārbaudījuši un skaitījuši kolonnu Dzimums un Cena dublikātu vērtības, vienlaikus grupējot pēc kolonnas Cena. Tajā tiks parādīti tabulā norādītie lolojumdzīvnieku dzimumi un to cenas kā kopijas ne vairāk kā 5.

>> Atlasiet dzimumu, COUNT (dzimums), cena, COUNT (cena) no datiem.dzīvnieki GRUPA PĒC CENAS, KURAI IR CENĀS (Cena) < 5 AND  COUNT(Gender) < 5;

Meklēt dublikātus vienā tabulā, izmantojot INNER JOIN

Šeit ir pamata sintakse, lai dublikātus atrastu vienā tabulā:

>> SELECT kol1, kol2, tabula.kol No tabulas INNER JOIN.col = temp.kol;

Šis ir pieskaitāmā vaicājuma stāstījums:

Kolonnā OrderNo mums ir jauna tabula “order2” ar vērtību dublikātiem, kā parādīts zemāk.

>> SELECT * FROM dati.rīkojums2;

Mēs atlasām trīs kolonnas: Vienums, Pārdošana, Pasūtījuma Nr., Kas jāparāda izvadē. Kamēr kolonnu OrderNo izmanto dublikātu pārbaudei. Iekšējā savienošana atlasīs vērtības vai rindas, kuru vienumu vērtības tabulā ir vairāk nekā viena. Pēc izpildes mēs iegūsim zemāk redzamos rezultātus.

>> SELECT vienums, pārdošana, pasūtījums2.PasūtījumsNav no datiem.order2 INNER JOIN (ATLASIET OrderNo FROM datus.pasūtījums2 GRUPA PĒC pasūtījumaNAV SKAITU (prece)> 1) temp ON order2.OrderNo = temp.OrderNo;

Meklēt dublikātus vairākās tabulās, izmantojot INNER JOIN

Šeit ir vienkāršotā sintakse dublikātu atrašanai vairākās tabulās:

>> Atlasīt kolonnu no tabulas1 INNER JOIN tabula2 uz tabulas1.col = tabula2.kol;

Šeit ir pieskaitāmā vaicājuma apraksts:

Mūsu datu bāzē ir divas tabulas “order1” un “order2”, abās ir sleja “OrderNo”, kā parādīts zemāk.

Mēs izmantosim INNER savienojumu, lai apvienotu divu tabulu dublikātus atbilstoši norādītajai kolonnai. INNER JOIN klauzula iegūs visus datus no abām tabulām, tām pievienojoties, un klauzula ON saistīs tās pašas nosaukuma slejas no abām tabulām, e.g., Pasūtījuma Nr.

>> SELECT * FROM dati.order1 INNER JOIN dati.order2 ON order1.OrderNo = order2.PasūtījumsNO;

Lai izvadē iegūtu konkrētas kolonnas, izmēģiniet šo komandu:

>> Atlasiet reģiona, statusa, vienuma, pārdošanas no datiem datus.order1 INNER JOIN dati.order2 ON order1.OrderNo = order2.PasūtījumsNO;

Secinājums

Tagad mēs varētu meklēt vairākas kopijas vienā vai vairākās MySQL informācijas tabulās un atpazīt funkciju GROUP BY, COUNT un INNER JOIN. Pārliecinieties, vai esat pareizi izveidojis tabulas un vai ir izvēlētas pareizās kolonnas.

Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...