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;
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: