Sobes.tech
Junior

Aký SQL dotaz je potrebné použiť na zoskupenie údajov?

sobes.tech AI

Odpoveď od AI

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

Používá sa GROUP BY. Skupinuje riadky s rovnakými hodnotami v jednej alebo viacerých stĺpcoch do jedného súhrnného riadku, pre ktorý je možné použiť agregačné funkcie (napríklad COUNT, SUM, AVG, MIN, MAX).

  • SELECT - určuje stĺpce, ktoré majú byť vybrané. Mali by obsahovať stĺpce na skupinovanie a/alebo agregačné funkcie.
  • FROM - určuje tabuľku, z ktorej sa údaje vyberajú.
  • WHERE - voliteľná podmienka na filtrovanie riadkov pred skupinovaním.
  • GROUP BY - určuje stĺpce, podľa ktorých sa údaje budú skupinovať. Všetky neagregované stĺpce v SELECT musia byť v GROUP BY.
  • HAVING - voliteľná podmienka na filtrovanie skupín po skupinovaní (používa sa s agregačnými funkciami).
  • ORDER BY - voliteľná podmienka na zoradenie výsledných riadkov.

Príklad agregačných funkcií:

Funkcia Popis
COUNT() Počítava počet riadkov v skupine.
SUM() Vypočíta súčet hodnôt v stĺpci pre každú skupinu.
AVG() Vypočíta priemernú hodnotu v stĺpci pre každú skupinu.
MIN() Nájde minimálnu hodnotu v stĺpci pre každú skupinu.
MAX() Nájde maximálnu hodnotu v stĺpci pre každú skupinu.