Sobes.tech
Junior

Kokį SQL užklausą reikia naudoti duomenų grupavimui?

sobes.tech AI

Atsakymas iš AI

SELECT
    column1,
    column2,
    aggregate_function(column3)
FROM
    your_table
WHERE
    condition
GROUP BY
    column1,
    column2
ORDER BY
    column1;

Naudojama GROUP BY. Jis grupuoja eilutes su tomis pačiomis reikšmėmis viename ar keliuose stulpeliuose į vieną apibendrinančią eilutę, kuriai galima naudoti agregavimo funkcijas (pvz., COUNT, SUM, AVG, MIN, MAX).

  • SELECT - nurodo stulpelius, kurie turi būti pasirenkami. Jie turi apimti stulpelius grupavimui ir/arba agregavimo funkcijas.
  • FROM - nurodo lentelę, iš kurios paimami duomenys.
  • WHERE - pasirenkamas sąlyga, skirta filtruoti eilutes prieš grupavimą.
  • GROUP BY - nurodo stulpelius, pagal kuriuos bus grupuojami duomenys. Visos neagreguotos stulpeliai SELECT turi būti GROUP BY.
  • HAVING - pasirenkamas sąlyga, skirta filtruoti grupes po grupavimo (naudojama su agregavimo funkcijomis).
  • ORDER BY - pasirenkamas sąlyga, skirta rūšiuoti rezultatus.

Agregavimo funkcijų pavyzdžiai:

Funkcija Aprašymas
COUNT() Skaičiuoja eilučių skaičių grupėje.
SUM() Skaičiuoja reikšmių sumą stulpelyje kiekvienai grupei.
AVG() Skaičiuoja vidurkį stulpelyje kiekvienai grupei.
MIN() Randa mažiausią reikšmę stulpelyje kiekvienai grupei.
MAX() Randa didžiausią reikšmę stulpelyje kiekvienai grupei.