Sobes.tech
Junior

Kas yra grupavimas duomenų bazėje?

sobes.tech AI

Atsakymas iš AI

Duomenų bazėje grupavimas yra operacija, kuri sujungia eilutes su vienodomis reikšmėmis viename ar keliuose stulpeliuose į rezultatų rinkinį, kuris susideda iš vienos eilutės kiekvienai grupei. Paprastai jis naudojamas kartu su agregavimo funkcijomis (pvz., COUNT, SUM, AVG, MIN, MAX), kad būtų atliekami skaičiavimai kiekvienai grupei.

SQL pavyzdys:

SELECT
    stulpelis1,       -- Grupavimo stulpelis
    COUNT(*) AS bendras_eilių_sk, -- Agregavimo funkcija
    SUM(stulpelis2) AS stulpelis2_suma -- Kita agregavimo funkcija
FROM
    lentelės_pavadinimas
WHERE
    sąlyga -- Papildoma filtravimo sąlyga prieš grupavimą
GROUP BY
    stulpelis1 -- Nurodo, pagal kurį stulpelį grupuoti
HAVING
    SUM(stulpelis2) > 100 -- Filtravimo sąlyga po grupavimo
ORDER BY
    stulpelis1; -- Rezultato rūšiavimas

Pagrindiniai elementai, susiję su grupavimu:

  • GROUP BY: Raktinis žodis, nurodantis stulpelius, pagal kuriuos turi būti grupuojamos eilutės.
  • Agregavimo funkcijos: Funkcijos, taikomos kiekvienai grupei, kad būtų gauta viena reikšmė kiekvienai grupei (COUNT, SUM, AVG, MIN, MAX).
  • HAVING: Sąlyga, taikoma kiekvienos grupės agreguotiems rezultatams. Naudojama grupių filtravimui. Skiriasi nuo WHERE, kuris filtruoja eilutes prieš grupavimą.