Odabir jedinstvenih zapisa u MySQL upitu: odaberite distinct

Korištenje različitog dizajna nije relevantno samo za odabir jedinstvenih zapisa. Ovo je dobar način testiranja programa. Glavni semantički teret za ključnu riječ upita odaberite različiti MySQL - odaberite samo one unose u kojima navedeno polje ima jedinstvenu vrijednost.

Možete koristiti više polja u jednom upitu. Polja mogu kombinirati MySQL funkcije, primijeniti dodatne uvjete odabira i sortiranja. Prihvatljivo je koristiti dizajn grupe prema istom, ali morate uzeti u obzir da postoje nesigurnosti.


Osnovni položaj i sintaksa

Provjera i optimizacija: odaberite različito - jedan od najtraženijih načina za postizanje željenog. Ilustrativan primjer je tablica koja sadrži 99999 unosa nasumce oblikovanih iz tri niza:
Testna tablica ex_workers generirana je pomoću funkcije PHP rand (010). Svaki niz ima točno 11 elemenata. Naravno, nasumce distribuirana slučajna varijabla na broju zapisa 99999 ne može dopustiti barem jedan nedostatak first_name na svim last_name i obrnuto.
Naravno, vjerojatnost ostaje, ali za svako jedinstveno ime u nizu $ aWorkersF, vjerojatno će postojati točno jedanaest varijanti $ aWorkersL. U ovom slučaju, kako bi se ispitala sumnja u izvorni skup podataka, kao i njegova višestruka generacija - dobro rješenje. Idealni skupovi podataka nisu najbolji način provjere valjanosti algoritama.
Rezultati upita

i

- prvi i drugistupci - pokazuju da za svaku jedinstvenu vrijednost first_name postoji jedanaest vrijednosti last_name i obrnuto. U ovom slučaju, desni stupac je duži od jedanaest redaka i ima 121 redak - na zahtjevi zahtjev
.


Popisna polja različita `first_name`,` last_name` je ekvivalentna različitom konkatu (`first_name`,` last_name`). Međutim, to nije opći slučaj, već privatna odluka.

Glavni sadržaj MySQL upita odaberite c različita

Uobičajena praksa: tablice uvijek imaju duplicirana polja. Bez ove bitne okolnosti relacijske baze podataka jednostavno ne postoje. U primjeru, tablica sadrži ključno polje i_status i njegovo značenje w_status. To je posao koji zauzima zaposlenik.
Idealno, polja i_status i w_status trebaju biti raspoređeni u zasebnoj tablici, au tablici ex_workers uvijek treba ostaviti samo ključno polje i_status, što se uvijek može nazvati naslovom posta. Ovdje je upravo rješenje dano kao primjer. Ispunjavanjem zahtjeva za odabir u ova dva polja možete dobiti sve potrebne podatke za odabir selektora na web stranici. Takav izbornik omogućit će prikaz zaposlenika da zauzimaju njihove pozicije. Ne mora biti selektor, već zaglavlje tablice ili grafički stupac potražnje za radnicima u određenoj specijalnosti. Ne može se reći da je glavni razlog za odabir jedinstvenih zapisa isključivo selektor, zaglavlja tablica ili koordinatnih osi, ali to je iznimno česta oznaka i uporaba odabranog različitog dizajna.

Jedinstvenost na dinamičkim podacima

Obrada informacija - to je u velikoj mjeri potraga za ispravnom odlukom.Analiza uvjeta može se izvršiti pomoću PHP-a ili drugog programskog jezika, ali, u pravilu, sve primarne informacije se odmah upisuju u tablicu baze podataka. To je već dugo tradicija, ali normalna memorija za moderno mjesto. Memorija u formatu relacijske baze podataka - izvrsno i praktično rješenje.
U dizajnu odaberite odvojeno postoji veliki opseg primjene - donošenje bezuvjetnih odluka, ako dizajnirate stvaranje dinamičkih tablica u radu stranice, na primjer:
  • parsiranje stranica;
  • praćenje ponašanja posjetitelja;
  • formiranje sigurnosti perimetra analizom odstupanja od utvrđene (prihvatljive) prirode radnji zaposlenika.
  • Planiranjem jednostavnih algoritama za analizu primljenih informacija pisanjem primarnog rezultata u tablicu, uvijek možete imati odgovarajuće rješenje jednostavnim odabirom opcije select distinct.

    Jednostavnost tablica i suština relacijske logike

    Jednom kad je programiranje i stvaranje baza podataka podsjećalo na izgradnju željeznica i posjećivano. U osnovi, ova varijanta napretka u znanstvenom i tehničkom području bila je povlastica socijalističke ekonomije, ali je Silicijska dolina također imala proboj u tom pitanju.
    Danas, što je lakše, to bolje. Sve češće se počelo pojavljivati ​​pitanje kako napraviti selektivno razlikovati na desetak polja nekoliko stolova. Vješti razvoj postao je stvaranje baza podataka s iznimno jednostavnim stajalištem: ako je jedan programer napravio bazu podataka ili upit u tablici, onda bi drugi programer trebao razumjeti što je učinjeno spola riječi. Ako je za razumijevanje organizacije podataka i uzorka informacija potrebno izvršiti barem neke zamjetne mentalne ili privremene napore - to je objektivan razlog za pregled rezultata obavljenog posla.

    Povezane publikacije