group by
GROUP BY, SELECT ile getirilen veriyi gruplar.
SELECT customer_id, SUM (amount) FROM payment GROUP BY customer_id;
Sorgu payment tablosundaki customer_id değerlerini bulur, aynı customer__id
değerine sahip olanların ‘amount’ değerlerini toplar ve customer_id’ ye göre
gruplar.
Yani spesifik bir customer_id değerine sahip olan satırların amount değerleri
toplamını verir.
SELECT customer_id, SUM (amount) FROM payment GROUP BY customer_id ORDER BY SUM (amount) DESC; SELECT first_name || ‘ ‘ || last_name full_name, SUM (amount) as amount FROM payment INNER JOIN customer USING (customer_id) GROUP BY full_name ORDER BY amount DESC;
Sorgu her customer kolonu için toplam tutarı ( SUM(amount) ) almak için INNER JOIN
yan tümcesi ile GROUP BY deyimini kullanır. Bu sorgu payment tablosunu customer
tablosuyla birleştirir ve full_name kolonuna göre gruplandırır.
SELECT staff_id , COUNT (payment_id) FROM payment GROUP BY staff_id; SELECT customer_id, staff_id, SUM(amount) FROM payment GROUP BY staff_id, customer_id ORDER BY customer_id; SELECT DATE(payment_date) paid_date, SUM(amount) sum FROM payment GROUP BY DATE(payment_date);
Payment_date bir timestamp sütunudur. Ödemeleri(payments) tarihlere göre
gruplandırmak için, önce timestamp’ler tarihlere dönüştürülmeli .Ödemeleri
(payments) sonuç tarihine göre gruplandırmak için DATE() işlevi kullanılır.Sorgu sonucu
paid_date alias’ına sahip sütundaki tarihlerde alınacak ödemelerin toplamı sum
alias’ına sahip sütunda belirtilir.
