0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan5 halaman

Aggregate

Dokumen ini membahas fungsi agregat seperti MAX(), MIN(), AVG(), SUM(), dan COUNT() yang digunakan untuk menghitung nilai tertinggi, terendah, rata-rata, jumlah, dan banyaknya nilai. Dokumen ini juga membahas penggunaan agregat dengan GROUP BY dan HAVING.

Diunggah oleh

smaradavi098
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan5 halaman

Aggregate

Dokumen ini membahas fungsi agregat seperti MAX(), MIN(), AVG(), SUM(), dan COUNT() yang digunakan untuk menghitung nilai tertinggi, terendah, rata-rata, jumlah, dan banyaknya nilai. Dokumen ini juga membahas penggunaan agregat dengan GROUP BY dan HAVING.

Diunggah oleh

smaradavi098
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

Fungsi Agregate

===============
--> fungsi yang menampilkan hasil kalkulasi dari sejumlah nilai menjadi satu
keluaran nilai.

MAX()--> menampilkan nilai tertinggi


MIN()--> nilai terendah
AVG()--> nilai rata-rata
SUM()--> jumlah nilai
COUNT()--> banyaknya nilai

3, 4, 5, 4, 9, 1
SUM = 26
COUNT = 6

SELECT fungsiagregate(namafield)
FROM namatabel;

Contoh : Tampilkan buyprice tertinggi, terendah dan rata-rata buyprice

SELECT MAX(buyprice) as maksimum,


MIN(buyprice)minimum,
AVG(buyprice)rata_rata
FROM products;

SOAL :
1. Tampilkan jumlah data yang ada pada tabel orders;
SELECT COUNT(productcode) FROM products;
SELECT COUNT(*) FROM products;

2. Berapa banyak product yang memiliki productname Harley.

SELECT COUNT(productname) FROM products


WHERE productname LIKE '%Harley%';

3. Berapa kali customername Royale Belge melakukan order?

select count(orders.customernumber)
from customers join orders using(customernumber)
where customername = 'Royale Belge';

4. Jika total harga didapatkan dari priceeach dikali dengan quantityinstock, maka
tampilkan total harga paling tinggi, paling rendah dan rata-rata total harga.
Lakukan pembulatan ke atas untuk setiap field yang ditampilkan.

CEIL(MAX(priceeach*quantityinstock))

5. Berapa kali customername Royale Belge melakukan order? Tampilkan customername


dan banyak order.

select customername, count(orders.customernumber)


from customers join orders using(customernumber)
where customername = 'Royale Belge';

6. Tampilkan productname yang memiliki buyprice paling mahal.

select productname, max(buyprice)


from products; --> query salah karena hasilnya salah
AGGREGATE dengan GROUP BY
=========================
--> digunakan untuk mengelompokkan berdasarkan kriteria tertentu. Menampilkan hasil
kalkulasi dari masing-masing kelompok nilai.

SELECT namafield, aggregate(namafield)


FROM namatabel
WHERE [kondisi]
GROUP BY namafield;

SOAL :
1. Tampilkan jumlah customer yang ada di masing-masing kota.

SELECT city, count(*) jumlah FROM customers


GROUP BY city;

2. Tampilkan jumlah employees yang bekerja di masing-masing offices.

3. Tampilkan productname yang paling laku(paling sering diorder), totalharga yang


dihasilkan productname tersebut(buyprice dikali quantityinstock).

4. Seorang customer akan mendapatkan hadiah sesuai dengan total quantityordered


yang dilakukan oleh setiap customers.
Jika total quantityordered
0 - 500 tidak mendapatkan hadiah
500 keatas hingga 1000 hadiah sepeda
1000 keatas hingga 5000 hadiah TV
diatas 5000 hadiah iphone maxpro 19

Tampilkan customername, total quantityordered dan keterangan hadiah.

5. Seorang employee akan mendapatkan hadiah sesuai dengan total quantityordered


product yang telah dijual oleh setiap employees.
Jika total quantityordered
0 - 5000 tidak mendapatkan hadiah
5000 keatas hingga 10000 hadiah jalan-jalan ke Singapur
10000 keatas hadiah umroh

Tampilkan nama lengkap employee, total quantityordered dan keterangan hadiah.

SOAL :
Tampilkan jumlah customer yang dilayani oleh setiap employee

SELECT employeenumber, count(customernumber) as jumlah


FROM employees join customers
ON employees.employeenumber = customers.salesrepemployeenumber
GROUP BY employeenumber;

Tampilkan jumlah customer yang dilayani oleh setiap employee tetapi tampilkan hanya
untuk jumlah customer yang jumlahnya maksimal 7.

SELECT employeenumber, count(customernumber) as jumlah


FROM employees join customers
ON employees.employeenumber = customers.salesrepemployeenumber
GROUP BY employeenumber
WHERE count(customernumber) <= 7; --> ERROR

SELECT employeenumber, count(customernumber) as jumlah


FROM employees join customers
ON employees.employeenumber = customers.salesrepemployeenumber
WHERE count(customernumber) <= 7
GROUP BY employeenumber; --> ERROR (INVALID USE OF GROUP FUNCTION)

Aggregate dengan HAVING


=======================
--> menyaring hasil kalkulasi yang berasal dari fungsi aggregate.

Tampilkan berapa jumlah customer yang ada di masing-masing kota. Tampilkan hanya
untuk jumlah customer yang diatas 1.

SELECT city, count(*) jumlah


FROM customers
GROUP BY city
HAVING count(*) > 1 AND city = 'Boston';

SELECT .........
FROM ...........
WHERE ...........
GROUP BY ..........
HAVING ............
ORDER BY .........
LIMIT ...........;

SELECT employeenumber, count(customernumber) as jumlah


FROM employees join customers
ON employees.employeenumber = customers.salesrepemployeenumber
GROUP BY employeenumber
HAVING count(customernumber) <= 7;

SOAL :
Database classicmodels:
1. Tampilkan berapa total jumlah product yang diorder oleh masing-masing
ordernumber? Tampilkan untuk total jumlah product yang lebih dari 100.

2. Tampilkan customername dan berapa kali customer tersebut melakukan order.


Tampilkan juga rata-rata waktu yang dibutuhkan dari requireddate ke shippeddate.
Lakukan pembulatan ke atas untuk rata-rata waktu.

3. Tampilkan berapa orang karyawan yang bekerja di masing-masing office (hanya


untuk office yang berada di kota Boston, Paris dan Tokyo).

Database dbjual:
1. Tampilkan berapa omset yang didapatkan setiapm tahun. Omset adalah jumlah total
penjualan.

2. Jika barang yang dibeli jumlah totalnya lebih dari 50 maka akan mendapatkan
diskon penjualan sebesar 10% dari total harga. Jika dibawah itu tidak mendapatkan
diskon. Tampilkan tgl, jumlah total barang dan besarnya diskon, kelompokkan
berdasarkan tanggal transaksi.
3. Pada tahun 2008, keuntungan yang diperoleh adalah 25% dari total harga (jml
dikalikan dengan harga). Tampilkan tahun, keuntungan dan jumlah barang yang terjual
di tahun tersebut.

4. Pelanggan yang membeli barang dengan jumlah total lebih dari 30 pcs akan
mendapatkan hadiah panci, jika dibawah itu mendapatkan hadiah sandal jepit.
Tampilkan kdlgn, jumlah barang yang dibeli dan hadiah apa yang didapatkan oleh
pelanggan tersebut.
Berapakah buyprice yang paling mahal ?

Anda mungkin juga menyukai