26.10.2022, Vladimír Klaus, navštíveno 975x

SQL
SQL Server

Asi každý víme, jak pomocí SQL seskupit údaje a následně i spočítat počet údajů/řádek v každé skupině. Ale jak spočítat počet skupin? Logicky tak, že nejprve udělám seskupovací dotaz a ten ještě obalím sčítacím dotazem na počet záznamů.

SELECT COUNT(*) AS PocetZasilek
FROM (
	SELECT COUNT(*) AS PocetPalet
	FROM PaletoveQRKody
	WHERE DatumDoruceni=CONVERT(date, GETDATE()+1)
	GROUP BY OrderNumber, ShipmentNumber
) a

Elegantnější řešením je ale rovnou spočítat počet unikátních údajů podle kterých seskupuji.

SELECT COUNT(DISTINCT OrderNumber+ShipmentNumber) AS PocetZasilek
FROM PaletoveQRKody
WHERE DatumDoruceni=CONVERT(date, GETDATE()+1)

Zdroj: