Za začetek morate imeti v sistemu nameščen MySQL s pripomočki: delovno mizo MySQL in odjemalsko lupino ukazne vrstice. Po tem bi morali imeti v tabelah zbirke podatkov nekaj podatkov ali vrednosti kot dvojnike. To raziščimo z nekaj primeri. Najprej v namizni opravilni vrstici odprite odjemalsko lupino ukazne vrstice in na vprašanje vnesite geslo za MySQL.
Našli smo različne metode za iskanje podvojenih v tabeli. Oglejte si jih enega za drugim.
Iskanje dvojnikov v enem stolpcu
Najprej morate vedeti o sintaksi poizvedbe, ki se uporablja za preverjanje in štetje dvojnikov za en stolpec.
>> IZBERI col COUNT (col) IZ tabele GROUP BY col HAVING COUNT (col)> 1;Tu je razlaga zgornje poizvedbe:
- Stolpec: Ime stolpca, ki ga je treba preveriti.
- ŠTEVILO (): funkcija, ki se uporablja za štetje številnih podvojenih vrednosti.
- SKUPINA PO: klavzula, uporabljena za združevanje vseh vrstic glede na ta stolpec.
V naši podatkovni bazi MySQL „podatki“ smo ustvarili novo tabelo z imenom „živali“, ki ima podvojene vrednosti. V njej je šest stolpcev z različnimi vrednostmi, npr.g., id, ime, vrsta, spol, starost in cena, ki zagotavlja informacije o različnih hišnih ljubljenčkih. Po klicu te tabele z uporabo poizvedbe SELECT dobimo spodnji izhod v naši odjemalski lupini ukazne vrstice MySQL.
>> IZBERI * IZ podatkov.živali;
Zdaj bomo poskušali najti odvečne in ponavljajoče se vrednosti iz zgornje tabele s pomočjo stavka COUNT in GROUP BY v poizvedbi SELECT. Ta poizvedba bo štela Imena hišnih ljubljenčkov, ki se v tabeli nahajajo manj kot trikrat. Po tem bodo prikazana ta imena, kot spodaj.
>> IZBERITE IME ŠTEVILO (Ime) IZ podatkov.živali SKUPINA PO IMENU ŠTEVILO (Ime) < 3;
Uporaba iste poizvedbe za doseganje različnih rezultatov med spreminjanjem številke COUNT za Imena hišnih ljubljenčkov, kot je prikazano spodaj.
>> IZBERI Ime COUNT (Ime) IZ podatkov.živali SKUPINA PO IMENU ŠTEVILO (Ime)> 3;
Da dobite rezultate za skupno 3 podvojene vrednosti za Imena hišnih ljubljenčkov, kot je prikazano spodaj.
>> IZBERITE IME ŠTEVILO (Ime) IZ podatkov.živali SKUPINA PO IMENU ŠTEVILO (Ime) = 3;
Išči dvojnike v več stolpcih
Sintaksa poizvedbe za preverjanje ali štetje dvojnikov za več stolpcev je naslednja:
>> IZBERI col1, COUNT (col1), col2, COUNT (col2) IZ tabele GROUP BY col1, col2 IMEJO COUNT (col1)> 1 IN COUNT (col2)> 1;Tu je razlaga zgornje poizvedbe:
- col1, col2: ime stolpcev, ki jih je treba preveriti.
- ŠTEVILO (): funkcija, ki se uporablja za štetje več podvojenih vrednosti.
- SKUPINA PO: klavzula, uporabljena za združevanje vseh vrstic glede na ta stolpec.
Uporabljamo isto tabelo, imenovano "živali", ki ima podvojene vrednosti. Pri uporabi zgornje poizvedbe za preverjanje podvojenih vrednosti v več stolpcih smo dobili spodnji izhod. Preverili smo in prešteli podvojene vrednosti stolpcev Spol in Cena, medtem ko smo jih razvrstili po stolpcu Cena. V dvojniku bodo prikazani spoli hišnih ljubljenčkov in njihove cene, ki se nahajajo v tabeli, ne več kot 5.
>> IZBERITE Spol, ŠTEVILO (Spol), Cena, ŠTEVILO (Cena) IZ podatkov.živali SKUPINA PO CENI ŠTEVILO (cena) < 5 AND COUNT(Gender) < 5;
Poiščite dvojnike v eni tabeli s pomočjo INNER JOIN
Tu je osnovna sintaksa za iskanje dvojnikov v eni tabeli:
>> IZBERI col1, col2, tabela.col IZ tabele INNER JOIN (IZBERI col IZ tabele GROUP BY col HAVING COUNT (col1)> 1) temp ON tabela.col = temp.col;Tu je opis poizvedbe režijskih stroškov:
- Col: ime stolpca, ki ga je treba preveriti in izbrati za dvojnike.
- Temp: ključna beseda za uporabo notranjega združevanja v stolpcu.
- Tabela: ime preglednice, ki jo je treba preveriti.
V stolpcu OrderNo imamo novo tabelo 'order2' s podvojenimi vrednostmi, kot je prikazano spodaj.
>> IZBERI * IZ podatkov.naročilo2;
Izbiramo tri stolpce: Artikel, Prodaja, Naročilo št., Ki bodo prikazani v izhodu. Medtem ko se stolpec OrderNo uporablja za preverjanje dvojnikov. Notranji spoj bo izbral vrednosti ali vrstice z vrednostmi Elementi več kot ena v tabeli. Po izvedbi bomo spodaj dobili rezultate.
>> IZBERI artikel, prodaja, naročilo2.NAROČITE OD podatkov.order2 INNER JOIN (SELECT OrderNo FROM data.order2 RAZVRŠČANJE PO NAROČILU ŠE ŠTEVILO (Artikel)> 1) temp ON order2.OrderNo = temp.Številka naročila;
Poiščite dvojnike v več tabelah s pomočjo INNER JOIN
Tu je poenostavljena sintaksa za iskanje dvojnikov v več tabelah:
>> IZBERI col FROM table1 INNER JOIN table2 ON table1.col = tabela2.col;Tu je opis režijske poizvedbe:
- col: ime stolpcev, ki jih je treba preveriti in izbrati.
- INNER JOIN: funkcija, ki se uporablja za združevanje dveh tabel.
- ON: uporablja se za združevanje dveh tabel v skladu s predvidenimi stolpci.
V naši zbirki podatkov imamo dve tabeli, 'order1' in 'order2', v obeh pa je stolpec 'OrderNo', kot je prikazano spodaj.
Združitev INNER bomo uporabili za združevanje dvojnikov dveh tabel v skladu z določenim stolpcem. Klavzula INNER JOIN bo z združitvijo dobila vse podatke iz obeh tabel, klavzula ON pa bo povezala iste stolpce z imeni iz obeh tabel, e.g., Številka naročila.
>> IZBERI * IZ podatkov.order1 INNER JOIN podatki.order2 ON order1.OrderNo = order2.Številka naročila;
Če želite dobiti določene stolpce v izhodu, poskusite s spodnjim ukazom:
>> IZBERI regijo, stanje, postavko, prodajo iz podatkov.order1 INNER JOIN podatki.order2 ON order1.OrderNo = order2.Številka naročila;
Zaključek
Zdaj smo lahko iskali več kopij v eni ali več tabelah informacij MySQL in prepoznali funkcijo GROUP BY, COUNT in INNER JOIN. Prepričajte se, da ste pravilno sestavili tabele in izbrali ustrezne stolpce.