Cara Menggunakan Klausa MySQL HAVING Di mana Jumlahnya Lebih Besar Daripada Ambang

Cara Menggunakan Klausa Mysql Having Di Mana Jumlahnya Lebih Besar Daripada Ambang



Apabila bekerja dengan pangkalan data MySQL, anda selalunya akan mempunyai contoh di mana anda ingin menapis nilai. Walaupun anda boleh menggunakan klausa WHERE, ia tidak selalu berfungsi untuk semua keadaan. Klausa HAVING digunakan apabila anda ingin melaksanakan pertanyaan penapis menggunakan fungsi agregat dan menggunakan kumpulan.

Klausa HAVING bergantung pada klausa GROUP BY dalam penapisnya dan melaksanakan pertanyaan berdasarkan syarat yang disediakan. Ia mengehadkan penapis berdasarkan syarat dan hanya mengembalikan kumpulan yang dipilih jika mereka memenuhi syarat. Kami mempunyai contoh menggunakan klausa MySQL HAVING di mana jumlahnya melebihi ambang. Dengan cara itu, anda akan menguasai cara menggunakannya pada penghujung siaran hari ini.







Cara Menggunakan Klausa MySQL HAVING Di mana Jumlahnya Lebih Besar Daripada Ambang

Anda menggunakan klausa MySQL HAVING dengan klausa GROUP BY. Sintaksnya adalah seperti berikut:



PILIH ungkapan1, .. ekspresi_n, aggregate_func (ungkapan) DARIPADA nama_jadual KUMPULAN MENGIKUT ungkapan MEMPUNYAI ;

Anda boleh menggunakan fungsi agregat yang berbeza termasuk SUM(), COUNT(), MIN(), MAX(), dan AVG(). Ambil perhatian bahawa sebarang ungkapan yang tidak digunakan dengan fungsi agregat mesti disebut dengan klausa GROUP BY.



Bagi syarat, ia digunakan pada hasil agregat di mana anda menentukan ambang yang anda ingin semak dengan syarat. Sebagai contoh, anda boleh menggunakan fungsi SUM() dan mengesahkan sama ada ungkapan itu memenuhi ambang 10. Kami akan memahami lebih lanjut mengenainya dalam contoh yang disediakan.





Untuk memahami cara klausa HAVING berfungsi, mari kita cipta pangkalan data sampel yang akan kami gunakan. Kami menamakan pangkalan data kami sebagai 'daftar'.



Mari kita buat juga jadual bernama 'pekerja' untuk mengandungi lajur dan jenis data kami yang berbeza. Di sini, kami bekerja dengan data pekerja seperti nama, jam, tarikh kerja, dsb.

Dengan menyemak huraian jadual kami, kami boleh mengesahkan bahawa semua lajur berjaya dibuat.

Kami memasukkan nilai ke dalam jadual kami. Kami mempunyai pekerja yang berbeza yang bekerja dalam masa dan hari yang berbeza. Menggunakan data ini, kita boleh menggunakan klausa HAVING di mana jumlahnya melebihi ambang.

Untuk contoh pertama kami, mari kita pertimbangkan kes di mana kita ingin mencari pekerja yang bekerja paling banyak jam. Untuk klausa HAVING, sertakan fungsi jumlah agregat untuk jam. Dalam klausa GROUP BY, kami mengumpulkan baris menggunakan baris nama untuk membantu mengelaskan pekerja dengan jumlah jam yang lebih besar daripada ambang.

Jika kami mempunyai ambang kami untuk jumlah jam sebagai 7, kami melaksanakan arahan kami seperti berikut:

PILIH nama, JUMLAH(jam) SEBAGAI jumlah_jam_setiap_orang DARIPADA pekerja KUMPULAN MENGIKUT nama MEMPUNYAI jumlah(jam) > 7;

Dengan melaksanakan arahan, kami mendapat output yang mengandungi dua baris kerana hanya dua pekerja melebihi ambang yang ditentukan dalam klausa HAVING.

Katakan kita ingin mengklasifikasikan jabatan untuk melihat mereka yang mempunyai pekerja yang bekerja dalam jam lebih besar daripada ambang 7 jam. Kami memilih jabatan, kemudian gunakan fungsi agregat SUM dengan jam dan kumpulkan baris menggunakan ungkapan jabatan.

Perintah kami adalah seperti berikut:

PILIH jabatan, JUMLAH(jam) SEBAGAI jumlah_jam_setiap_jabatan DARIPADA pekerja KUMPULAN MENGIKUT jabatan MEMPUNYAI jumlah(jam) > 7;

Daripada hasil carian, kami boleh mengesahkan bahawa kami berjaya menapis baris untuk hanya meninggalkan baris tersebut dengan jumlah jamnya lebih besar daripada ambang kami.

Begitu juga, jika kami ingin menapis tarikh kerja dengan bilangan pekerja bekerja tertinggi untuk melebihi ambang 10 jam, kami memilih ungkapan tarikh kerja. Kemudian, kami menggunakan fungsi SUM dengan jam dan kumpulan baris menggunakan tarikh kerja.

Perintahnya adalah seperti berikut:

PILIH tarikh kerja, JUMLAH(jam) AS tertinggi_jam_kerja DARIPADA pekerja KUMPULAN MENGIKUT tarikh kerja MEMPUNYAI jumlah(jam) > 10;

Selepas melaksanakan arahan, keputusan menunjukkan bahawa hanya satu tarikh kerja mempunyai jumlah jam yang melebihi ambang:

Kesimpulan

Klausa MySQL HAVING digunakan apabila anda ingin melaksanakan pertanyaan penapis menggunakan fungsi agregat. Ia digabungkan dengan klausa GROUP BY untuk melaksanakan pertanyaan yang lebih khusus. Siaran ini memperincikan segala-galanya tentang klausa MySQL HAVING di mana jumlahnya lebih besar daripada ambang. Dengan contoh yang disediakan, anda kini memahami cara bekerja dengan klausa MySQL HAVING.