# Kaip naudoti SQL SELECT DISTINCT

SQL `SELECT DISTINCT` užtikrina, kad į duomenų užklausos rezultatus būtų įtraukti tik **unikalūs įrašai ir eilutės**. Ji pašalina dubliuojamus įrašus ir eilutes, todėl duomenų analizė tampa aiškesnė ir tikslesnė.

## Kas yra SQL `SELECT DISTINCT`?

SQL `SELECT DISTINCT` yra apdorojimo operatorius, naudojamas kartu su SQL SELECT komanda. Užklausose `SELECT` atrenka vieną ar daugiau stulpelių ir įrašų. Kartu su `DISTINCT` operatoriumi jis užtikrina, kad užklausos rezultatai apimtų **tik unikalias eilutes**, ir pašalina pasikartojančias eilutes bei reikšmes. `SELECT DISTINCT` galite derinti su kitais SQL operatoriais ir SQL komandomis, kad pritaikytumėte užklausas pagal savo individualius poreikius.

### Kuo skiriasi SQL `SELECT DISTINCT` ir `SELECT UNIQUE` versijos?

Žodžiai „unikalus“ ir „skirtingas“ turi panašią reikšmę, tačiau SQL operatoriai `UNIQUE` ir `DISTINCT` atlieka **skirtingas funkcijas**. Norėdami teisingai naudoti SQL `SELECT DISTINCT`, turėtumėte žinoti, kuo jis skiriasi nuo `UNIQUE`.

<table>
  <thead>
    <tr>
      <th>SQL SELECT DISTINCT</th>
      <th>SQL SELECT UNIQUE</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Patikrina duomenų rinkinius dėl pasikartojančių eilučių ir verčių; pašalina dubliavimus ir grąžina tik skirtingus rezultatus</td>
      <td>Tinka užkirsti kelią dubliavimams pasirinktose lentelėse ir stulpeliuose naudojant stulpelių apribojimus</td>
    </tr>
    <tr>
      <td>Dažniausiai naudojama duomenų rinkiniams vertinti, analizuoti ir lyginti, siekiant gauti aiškius, prasmingus rezultatus</td>
      <td>Naudojama kuriant ir redaguojant lenteles, siekiant užtikrinti geresnį duomenų vientisumą be dubliavimų</td>
    </tr>
  </tbody>
</table>

Tip Norite greitai atnaujinti savo žinias apie [SQL](https://www.ionos.com/lt-lt/digitalguide/serveris/zinios/kas-yra-sql/)? Mūsų [SQL įvadas su pavyzdžiais](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/ivadas-i-sql-su-pavyzdziais/) supažindina su svarbiausiomis funkcijomis.

## Kokia yra SQL `SELECT DISTINCT` sintaksė?

Pagrindinė SQL `SELECT DISTINCT` sintaksė atrodo taip:

```sql
SELECT  DISTINCT  ColumnA, ColumnB, …
FROM table
```

Jame naudojami šie parametrai:

- `SELECT DISTINCT`: Čia nurodykite, kuriose stulpeliuose norite taikyti `SELECT` komandą ir `DISTINCT` operatorius.
- `FROM`: Čia nurodykite, kurioje lentelėje yra šios stulpeliai.
- `WHERE`: Pasirinktinėje WHERE sąlygoje galite pridėti papildomų sąlygų, kad susiaurintumėte užklausą.

## Kam naudojamas SQL `SELECT DISTINCT`?

SQL `SELECT DISTINCT` turi **begalę pritaikymo galimybių**. Štai keletas pavyzdžių:

- Sujunkite klientų, užsakymų, pacientų ar produktų duomenis, kurie pateikiami keliose eilutėse, į vieną įrašą
- Suskaičiuokite ir parodykite pirkimų skaičių pagal užsakymus ir produktų ID
- Išrinkite unikalius paciento ar kliento duomenis
- Rodykite visus pristatymo adresus arba tiekėjus regione

## SQL pavyzdžiai `SELECT DISTINCT`

Dabar panagrinėsime du pavyzdžius, kuriuose naudojamas `SELECT DISTINCT`.

### Išrinkti visus klientus

Tarkime, kad norite išgauti visus unikalius klientus iš lentelės „Užsakymai“. Jei klientas pateikė kelis užsakymus, nenorite, kad būtų dubliuojamų eilučių. Sintaksė tam atrodytų taip:

```sql
SELECT  DISTINCT  Customer_name
FROM  Orders
```

### Klientų filtravimas pagal regioną

Naudodami `WHERE` sąlygą galite nustatyti **papildomus reikalavimus** klientų duomenų vertinimui. Tarkime, norite iš lentelės „Orders“ išgauti visų Jungtinėje Karalystėje gyvenančių klientų vardus. Tai atrodytų taip:

```sql
SELECT  DISTINCT  Customer_name, Country
FROM  Orders
WHERE  Country  =  'UK'
```

## Ar yra SQL `SELECT DISTINCT` alternatyvų?

`SELECT DISTINCT` – tai praktiškas būdas pašalinti dubliuojamus įrašus iš užklausų, tačiau tai ne visada yra geriausias sprendimas. Taikant šį metodą dideliems duomenų rinkiniams, jis sunaudoja daug išteklių, nes lygina kiekvieną stulpelį atskirai. Tokiu atveju galite apsvarstyti šias **alternatyvas, turinčias panašias funkcijas**:

- `GROUP BY`: SQL GROUP BY sąlygos sugrupuoja įrašus iš jūsų nurodytų stulpelių. Jų tikslumą galima padidinti naudojant papildomas funkcijas ir operatorius.
- `EXISTS`: SQL EXISTS tikrina, ar kitoje lentelėje yra reikšmės ir įrašai.
- `COUNT`: Derinkite `DISTINCT` su SQL COUNT, kad suskaičiuotumėte unikalias reikšmes stulpelyje.
- `SELECT` + `FROM` + `WHERE`: Rezultatus galite geriau susiaurinti naudodami paklausimą (užklausą, įterptą į kitą užklausą). Paklausime pasirinkite stulpelį naudodami `SELECT`, nurodykite, kurioje lentelėje dirbate, naudodami `FROM`, ir tada nustatykite sąlygas, kurias turi atitikti rezultatai, naudodami `WHERE`.


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/sql-select-distinct/](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/sql-select-distinct/) for AI/LLM consumption.