Anda di halaman 1dari 10

MATERI 2 AGGREGATE FUNCTION

PEMROGRAMAN BASIS DATA S1 TI

March 2, 2016

[PEMROGRAMAN BASIS DATA]

AGGREGATE FUNCTION
In database management an aggregate function is a function where the values of multiple rows are
grouped together as input on certain criteria to form a single value of more significant meaning or
measurement such as a set, a bag or a list. SQL aggregate functions return a single value, calculated
from values in a column.
Kind of Aggregate Function in SQL :
1. AVG Function
2. COUNT Function
3. MIN Function
4. MAX Function
5. SUM Function
6. STDEV Function
7. VAR Function

AVERAGE FUNCTION
The AVG function returns the average of the values within a column. AVG can only accept a numeric
expression as a parameter.
Syntax :
AVG (ALL or DISTINCT numeric column);
Example :
SELECT AVG(selling_price)
FROM items;
Output :

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 2

March 2, 2016

[PEMROGRAMAN BASIS DATA]

COUNT FUNCTION
The COUNT function returns a count of rows based on certain criteria.
Syntax :
COUNT(ALL or DISTINCT expression) or COUNT(*);
Example :
SELECT COUNT(*)
FROM customers;
Output :

MIN FUNCTION
The MIN function returns the smallest value within a given set.
Syntax :
MIN(ALL or DISTINCT expression);
Example :
SELECT MIN(stock)
FROM items;
Output :

MAX FUNCTION
The MAX function returns the biggest value within a given set.
Syntax :
MAX(ALL or DISTINCT expression);
Example :
SELECT MAX(purchasing_price)
FROM items;

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 3

March 2, 2016

[PEMROGRAMAN BASIS DATA]

Output :

SUM FUNCTION
The SUM function returns the sum of all or unique values. SUM can only accept a numeric
expression as a parameter.
Syntax :
SUM(ALL or DISTINCT numeric expression);
Example :
SELECT SUM(stock)
FROM items;
Output :

STDEV FUNCTION
The STDEV function calculates the standard deviation for all items in the SELECT statement. This
function can only be used with numeric columns.
Syntax :
STDEV(ALL or DISTINCT numeric expression);
Example :
SELECT STDEV(purchasing_price)
FROM items;
Output :

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 4

March 2, 2016

[PEMROGRAMAN BASIS DATA]

VAR FUNCTION
The VAR function calculates the statistical variance of all values in the SELECT statement. This
function can only be used with numeric columns.
Syntax :
VAR(ALL or DISTINCT numeric expression);
Example :
SELECT VAR(selling_price)
FROM items;
Output :

GROUP BY STATEMENT
The GROUP BY statement is used in conjunction with the aggregate functions to group the result-set
by one or more columns to arrange identical data into groups.
Syntax :
SELECT column name, aggregate function(column name)
FROM table name
WHERE column name operator value
GROUP BY column name;

Example using COUNT function :


SELECT region_id, COUNT(*) AS amount
FROM customers
GROUP BY region_id;
Output :

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 5

March 2, 2016

[PEMROGRAMAN BASIS DATA]

Example using SUM function :


SELECT i.category_id, SUM(i.stock) AS stock
FROM categories c JOIN items i ON c.category_id = i.category_id
GROUP BY i.category_id;
Output :

HAVING STATEMENT
The HAVING clause was added to SQL because the WHERE keyword could not be used with
aggregate functions.
Syntax :
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;

Example using AVG function:


SELECT i.category_id, AVG(i.purchasing_price) AS average
FROM categories c JOIN items i ON c.category_id = i.category_id
GROUP BY i.category_id
HAVING avg(i.purchasing_price) > 100000;
Output :

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 6

March 2, 2016

[PEMROGRAMAN BASIS DATA]

TASK !
1. Tampilkan jumlah suplier yang ada pada table suppliers..

2. Tampilkan jumlah suplier yang beralamat Jakarta, Surabaya dan Yogyakarta.

3. Tampilkan jumlah supplier dikelompokkan berdasarkan alamat yang beralamat Jakarta, Surabaya
dan Yogyakarta serta memiliki jumlah supplier lebih dari 5.

4. Tampilkan jumlah data pelanggan (customer) yang dikelompokkan berdasarkan kode wilayah.

5. Tampilkan jumlah data pelanggan dikelompokkan berdasarkan kode wilayah yang lahir pada
tahun 2009 2011.

6. Tampilkan jumlah data pelanggan yang dikelompokkan berdasarkan kode wilayah, dimana
memiliki tahun lahir antara 2007 hingga 2010 dan jumlah pelanggan minimal 2 diurutkan
berdasarkan jumlah pelanggan.

7. Tampilkan jumlah data pelanggan yang dikelompokkan berdasarkan tahun lahir, dimana huruf
kedua dari nama pelanggan adalah huruf a atau huruf u dan memiliki jumlah pelanggan lebih
dari 1 diurutkan berdasarkan tahun lahir secara descending.

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 7

March 2, 2016

[PEMROGRAMAN BASIS DATA]

8. Tampilkan harga jual barang tertinggi dan terendah yang memiliki kode kategori CG-006

9. Tampilkan jumlah data barang dikelompokkan berdasarkan kode kategori yang memiliki harga
jual maksimal Rp 300.000 dan stok minimal 30 diurutkan berdasarkan jumlah data barang.

10. Tampilkan jumlah data barang dikelompokkan berdasarkan kode kategori yang memiliki harga
jual antara 150.000 sampai 500.000 dan jumlah stok min. 100 diurutkan berdasarkan jumlah
data barang.

11. Tampilkan jumlah data barang dikelompokkan berdasarkan kode suplier yang memiliki harga beli
minimal 250.000 dan jumlah stok antara 25 150.

12. Tampilkan total biaya yang dikeluarkan untuk pembelian barang dan total harga yang diterima
pada saat penjualan barang dikelompokkan berdasarkan kode supplier.

13. Tampilkan jumlah transaksi yang dikelompokkan berdasarkan kode salesman.

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 8

March 2, 2016

[PEMROGRAMAN BASIS DATA]

14. Tampilkan jumlah transaksi yang dikelompokkan berdasarkan kode salesman dimana memiliki
tanggal transaksi antara 3 Maret 2016 8 Maret 2016 diurutkan berdasarkan jumlah transaksi
secara descending.

15. Tentukan berapa total penjualan dan pembelian yang dikelompokkan berdasarkan nomor
transaksi.

16. Tentukan berapa keuntungan yang diterima oleh swalayan dihitung per nomor transaksi
(purchase_id)

17. Jalankan 2 query di bawah ini, kemudian berikan penjelasan mengapa hasilnya berbeda.

18. Eksekusi 2 perintah ini, jelaskan mengapa pada Query 2 terjadi kesalahan.
Query 1 :

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 9

March 2, 2016

[PEMROGRAMAN BASIS DATA]

Query 2 :

19. Jalankan 2 query di bawah ini, jelaskan mengapa query 1 terjadi kesalahan.
Query 1 :

Query 2 :

20. Jalankan 2 query di bawah ini, dari 2 query yang tersedia akan menghasilkan output yang sama.
Menurut pendapat anda, query manakah yang waktu eksekusinya (execution time) lebih cepat.
Query 1 :

Query 2 :

MARDHIYA HAYATI & STEVI EMA WIJAYANTI

Page 10

Anda mungkin juga menyukai