Contoh GROUP BY dan HAVING

CREATE DATABASE penjualan;

USE penjualan;

CREATE TABLE pemesanan (
orderID INT(5),
tanggal DATE,
pelangganID CHAR(3),
totalPembayaran DOUBLE
);

DESC pemesanan;

INSERT INTO pemesanan VALUES
('11001', 'A01', 20000, '2017-02-02'),
('11002', 'A02', 50000, '2017-02-02'),
('11003', 'A03', 30000, '2017-02-04'),
('11004', 'A04', 40000, '2017-02-05'),
('11005', 'A05', 60000, '2017-02-06');


CREATE TABLE pelanggan (
pelangganID CHAR(3),
namaPelanggan VARCHAR(25),
telepon VARCHAR(25)
);

DESC pelanggan;

INSERT INTO pelanggan VALUES
('A01', 'Fery Hartadi', 089693338772),
('A02', 'Decky Sutara', 089648452359),
('A03', 'Desi Ratnasari', 085750741421),
('A04', 'Hesti Ramadhayanti', 089693737311),
('A05', 'Tedy Rahmad Putra', 089693475187);

SELECT * FROM pemesanan;
SELECT * FROM pelanggan;

SELECT COUNT(*) FROM pemesanan; -- Hitung jumlah record tabel buku
SELECT COUNT(*) AS juml_rec FROM pemesanan;
SELECT COUNT(*) AS juml_rec FROM pemesanan WHERE tanggal = '2017-02-02';

SELECT SUM(totalPembayaran) AS total_pembayaran FROM pemesanan; -- Hitung total harga
SELECT SUM(totalPembayaran) AS total_pembayaran FROM pemesanan WHERE tanggal = '2017-02-02';

SELECT MAX(totalPembayaran) AS harga_tertinggi FROM pemesanan; -- Tampilkan harga tertinggi
SELECT MAX(totalPembayaran) AS harga_tertinggi FROM pemesanan WHERE tanggal = '2017-02-02';

SELECT MIN(totalPembayaran) AS harga_terendah FROM pemesanan; -- Tampilkan harga terendah
SELECT MIN(totalPembayaran) AS harga_terendah FROM pemesanan WHERE tanggal = '2017-02-02';

SELECT AVG(totalPembayaran) AS harga_rerata FROM pemesanan; -- Tampilkan harga rata-rata
SELECT AVG(totalPembayaran) AS harga_rerata FROM pemesanan WHERE tanggal = '2017-02-02';

SELECT AVG(totalPembayaran) AS rata_rata FROM pemesanan;

SELECT orderID, tanggal, AVG(totalPembayaran) AS rata_rata FROM pemesanan GROUP BY totalPembayaran;

SELECT orderID, tanggal, MAX(totalPembayaran) AS terbesar, MIN(totalPembayaran) AS terkecil FROM pemesanan GROUP BY totalPembayaran;

SELECT orderID, AVG(totalPembayaran) AS rata_rata FROM pemesanan GROUP BY totalPembayaran;

SELECT tanggal, pelangganID, AVG(totalPembayaran) AS rata_rata FROM pemesanan GROUP BY totalPembayaran HAVING AVG(totalPembayaran)>30000;

SELECT totalPembayaran, AVG(totalPembayaran) AS rata_rata FROM pemesanan GROUP BY pelangganID HAVING pelangganID='A01';

SELECT tanggal, AVG(totalPembayaran) AS rata_rata FROM pemesanan GROUP BY tanggal HAVING tanggal='2017-02-02';

SELECT * FROM pemesanan INNER JOIN pelanggan ON pemesanan.pelangganID = pelanggan.pelangganID;
SELECT * FROM pemesanan LEFT JOIN pelanggan ON pemesanan.pelangganID = pelanggan.pelangganID;
SELECT * FROM pemesanan RIGHT JOIN pelanggan ON pemesanan.pelangganID = pelanggan.pelangganID;

SELECT pemesanan.pelangganID , orderID, tanggal, totalPembayaran, namaPelanggan, telepon FROM pemesanan INNER JOIN pelanggan ON pemesanan.pelangganID = pelanggan.pelangganID;
SELECT pemesanan.pelangganID , orderID, tanggal, totalPembayaran, namaPelanggan, telepon FROM pemesanan LEFT JOIN pelanggan ON pemesanan.pelangganID = pelanggan.pelangganID;
SELECT pemesanan.pelangganID , orderID, tanggal, totalPembayaran, namaPelanggan, telepon FROM pemesanan RIGHT JOIN pelanggan ON pemesanan.pelangganID = pelanggan.pelangganID;

0 komentar:

Copyright © 2013 Desain Pengembangan Sistem Informasi Akuntansi