Paweł Łukasiewicz
2020-09-20
Paweł Łukasiewicz
2020-09-20
Udostępnij Udostępnij Kontakt
ORDER BY

Polecenie to pozwala na posortowanie zwracanych wyników. Kolejne z tych, które możemy zaliczyć do łatwych w użyciu. Wystarczy dodać je na koniec naszej instrukcji:

SELECT ProductID, Name, Size, StandardCost FROM Production.Product
WHERE StandardCost > 10 AND StandardCost < 50
ORDER BY StandardCost ASC
Pamiętaj, że musisz zdefiniować kolumnę oraz kolejność, która może być rosnąca - ASC lub malejąca DESC. Spójrz na wykonanie powyższego polecenia:
SQL - Order By Możesz zaobserwować, że użyliśmy sortowania rosnącego po kolumnie StandardCost. ORDER BY jest niezwykle przydatny w połączeniu z innymi poleceniami. Nie wszystkie zapytania zwracają dane w sposób logiczny lub uporządkowany – to polecenie pozwala to zmienić.

GROUP BY

Polecenie to pozwala na grupowanie identycznych danych. Jeżeli chcecie również posortować te dane musicie pamiętać, że klauzula GROUP BY musi poprzedzić klauzulę ORDER BY.

W naszej tabeli możemy znaleźć kolumnę ReorderPoint. Jako, że nie jestem jej twórcą zakładam, że ponowne zamówienie danego produktu dopisze do naszego konta punkty lojalnościowe. Sprawdźmy ile produktów należy do danych progów. W tym celu przygotujemy poniższe zapytanie:

-- kryterium grupowania są dane zawarte w kolumnie ReorderPoint
-- COUNT(Name) pozwala na policzenie ilości produktów dla danego poziomu punktów
SELECT COUNT(Name) as Products, ReorderPoint from Production.Product
GROUP BY ReorderPoint

Efektem powyższego zapytania jest dokładna liczba produktów kwalifikująca się do danego progu punktowego: SQL - Order By

Dodajmy jeszcze sortowanie zwracanych wyników. Pamiętaj, że musisz zdefiniować kolumnę oraz kolejność, która może być rosnąca - ASC lub malejąca DESC. Spójrz na poniższą składnię:

-- kryterium grupowania są dane zawarte w kolumnie ReorderPoint
-- COUNT(Name) pozwala na policzenie ilości produktów dla danego poziomu punktów
-- ORDER BY ... DESC pozwala na posortowanie pogrupowanych danych
SELECT COUNT(Name) as Products, ReorderPoint from Production.Product
GROUP BY ReorderPoint
ORDER BY ReorderPoint DESC
SQL - Order By Możesz zaobserwować, że użyliśmy sortowania malejącego po kolumnie ReorderPoint.