16. Select Count(Orderdate) as 'ilość'
from Orders
Where OrderDate >= '1996-09-01' and OrderDate <= '1996-11-30'
17. Select Count(Distinct CustomerID) as 'ilość'
from Orders
Where OrderDate >= '1996-09-01' and OrderDate <= '1996-11-30'
Having – po pogrupowaniu danych czyli po group by
Where – przed group by
Having – wtedy kiedy avg, max, min, count, sum
1. Wyświetl id kategorii, których średnia cena produktów jest większa niż 30.
Select CategoryID, AVG(UnitPrice)
from Products
GROUP BY CategoryID
HAVING AVG(unitprice) > 30
2. Wyświetl id dostawców, którzy dostarczają tylko produkty tańsze niż 20.
Select SupplierID, MAX(Unitprice)
from Products
GROUP BY SupplierID
HAVING MAX(UnitPrice) < 20
3. Wyświetl, do jakich krajów latem 1997 roku zostało dostarczonych więcej niż 10 zamówień.
Select distinct ShipCountry, Count(ShippedDate)
from Orders
where CAST(ShippedDate as DATE) > '1997-06-23' and CAST(ShippedDate as DATE) < '1997-09-22'
GROUP BY ShipCountry
HAVING Count(ShippedDate) > 10
4. Wyświetl nr zamówienia oraz łączną liczbę zamówionych sztuk dla zamówień, na których znalazło się przynajmniej 5 różnych produktów.
Select SUM(Quantity) as 'liczba sztuk', OrderID
from [Order Details]
group by orderid
having COUNT(*) >=5
5. Wyświetl liczbę zamówień i maksymalną wartość opłaty frachtowej dla pracowników, którzy obsłużyli więcej niż 15 zamówień z Brazylii.
Select distinct EmployeeID, Count(OrderID), MAX(Freight)
FROM Orders
where shipcountry like 'brazil'
group by EmployeeID
having Count(OrderID) > 15
6. Dla każdego odbiorcy wyświetl, ile zamówień obsługiwanych przez poszczególnych pracowników zostało zrealizowane w terminie.
Select CustomerID, EmployeeID, Count(ShippedDate)
FROM Orders
where shippeddate <= RequiredDate
group by customerid, employeeid
7. Dla każdego pracownika wyświetl średni czas realizacji zamówień (w dniach).
9
8. Wyświetl 15 najdroższych produktów.
Select TOP 15 ProductName, UnitPrice
FROM Products
Order By UnitPrice desc
9. Wyświetl 3 kategorie, których wartość zapasu jest najmniejsza.
Select TOP 3 CategoryID, UnitPrice
FROM Products
Order By UnitPrice
10. Wyświetl pracowników, którzy obsłużyli więcej niż 50 klientów.