Tutorial MySQL ini menjelaskan Cara Menggunakan Clause MySQL HAVING dengan sintaks dan contoh.
Deskripsi
Syntax
Syntax untuk Clause MySQL HAVING adalah:
|
1 2 3 4 5 6 |
SELECT expression1, expression2, ... expression_n, aggregate_function (aggregate_expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n HAVING condition; |
Penjelasan Parameter
-
- expression1, expression2, … expression_n
- Ekspresi yang tidak dienkapsulasi dalam fungsi agregat dan harus disertakan dalam Klausa GROUP BY di dekat akhir pernyataan SQL.
- aggregate_function
- Ini adalah fungsi agregat seperti fungsi SUM, COUNT, MIN, MAX, atau AVG.
- aggregate_expression
- Ini adalah kolom atau ekspresi yang akan digunakan oleh fungsi aggregate.
- tables
- Table yang ingin Anda ambil dari arsip. Paling tidak ada satu tabel yang tercantum dalam klausa FROM.
- WHERE conditions
- Pilihan. Ini adalah kondisi untuk records/field yang akan dipilih.
- HAVING condition
- Ini adalah kondisi lebih lanjut yang diterapkan hanya pada hasil gabungan untuk membatasi kelompok baris yang dikembalikan. Hanya kelompok yang kondisinya yang mengevaluasi TRUE akan disertakan dalam himpunan hasil.
Contoh – Menggunakan fungsi aggregate MySQL SUM
Mari kita lihat contoh Clause MySQL HAVING yang menggunakan fungsi aggregate MySQL SUM.
Anda juga bisa menggunakan fungsi aggregate MySQL SUM untuk mengembalikan nama departemen dan total penjualan (di departemen terkait). Klausa SQL HAVING akan memfilter hasilnya sehingga hanya departemen dengan penjualan lebih besar dari $ 1000 yang akan dikembalikan.
|
1 2 3 4 |
SELECT department, SUM(sales) AS "Total sales" FROM order_details GROUP BY department HAVING SUM(sales) > 1000; |
Contoh – Menggunakan fungsi aggregate MySQL COUNT
Mari kita lihat bagaimana kita bisa menggunakan Clause MySQL HAVING dengan fungsi aggregate MySQL COUNT.
Anda bisa menggunakan fungsi aggregate MySQL COUNT untuk mengembalikan nama departemen dan jumlah karyawan (di departemen terkait) yang menghasilkan lebih dari $ 25.000 / tahun. Clause MySQL HAVING akan memfilter hasilnya sehingga hanya departemen dengan lebih dari 10 karyawan yang akan dikembalikan.
|
1 2 3 4 5 |
SELECT department, COUNT(*) AS "Number of employees" FROM employees WHERE salary > 25000 GROUP BY department HAVING COUNT(*) > 10; |
Contoh – Menggunakan fungsi aggregate MySQL MIN
Mari kita lihat bagaimana kita bisa menggunakan clause MySQL HAVING dengan fungsi aggregate MySQL MIN.
Anda juga bisa menggunakan fungsi aggregate MySQL MIN untuk mengembalikan nama masing-masing departemen dan gaji minimum di departemen. clause MySQL HAVING akan mengembalikan hanya departemen-departemen di mana gaji minimum lebih besar dari $ 35.000.
|
1 2 3 4 |
SELECT department, MIN(salary) AS "Lowest salary" FROM employees GROUP BY department HAVING MIN(salary) > 35000; |
Contoh – Menggunakan fungsi MAX
Mari kita lihat bagaimana kita bisa menggunakan clause MySQL HAVING dengan fungsi aggregate MySQL MAX.
Misalnya, Anda juga bisa menggunakan fungsi aggregate MySQL MAX untuk mengembalikan nama masing-masing departemen dan gaji maksimal di departemen. clause MySQL HAVING hanya akan mengembalikan departemen yang gaji maksimumnya kurang dari $ 50.000.
|
1 2 3 4 |
SELECT department, MAX(salary) AS "Highest salary" FROM employees GROUP BY department HAVING MAX(salary) < 50000; |