MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Dalam tutorial ini, kita akan membincangkan beberapa cara kita boleh menggunakan atau melaksanakan Klausa HAVING dalam fungsi agregat SQL . Menggunakan klausa ini dalam fungsi agregat SQL boleh membantu dalam ringkasan data.

Klausa HAVING hampir serupa dengan pernyataan WHERE dan juga boleh dilaksanakan bersama-sama dengannya.

Kami akan membincangkan korelasi dan perbezaan mereka dengan memberikan contoh semasa kami melalui tutorial ini.

Isi kandungan

GROUP BY And WHERE Pernyataan Dalam SQL

Untuk contoh pertama kami, kami akan membincangkan cara melaksanakan klausa WHERE dan GROUP BY menggunakan jadual sampel di bawah. Sila ambil perhatian bahawa kami hanya boleh menggunakan klausa WHERE dengan lajur sedia ada dan bukan dalam fungsi agregat sahaja.

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Katakan kita ingin mendapatkan Jumlah Jualan produk berdasarkan lajur SaleAmountnya yang nilainya lebih besar daripada 2 . Untuk mendapatkan hasilnya, arahan kami hendaklah seperti berikut:

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Mula-mula, kami memilih ProductName dan agregat SaleAmount untuk mendapatkan TotalSales. 

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Kemudian, kami menggunakan pernyataan WHERE di sini kerana kami cuba untuk mendapatkan hanya produk dengan SaleAmount lebih besar daripada 2. Perintah 'GROUP BY ProductName' menunjukkan bahawa ia akan mengumpulkan baris di bawah lajur ProductName menjadi satu.

Dengan melaksanakan set arahan kami, kami akan melihat bahawa daripada semua data di bawah lajur ProductName dan SaleAmount , hanya Mentol dan Kipas yang dipaparkan. Itu kerana mereka satu-satunya yang mempunyai SaleAmount yang lebih besar daripada 2.

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Dalam contoh ini, pernyataan WHERE adalah untuk menapis hasil dengan lajur sedia ada, iaitu SaleAmount kami . Juga, ambil perhatian bahawa pernyataan WHERE muncul sebelum GROUP BY dan tidak boleh digunakan untuk menapis fungsi agregat. Sebaliknya, klausa HAVING muncul selepas GROUP BY dan digunakan untuk penapisan berdasarkan fungsi agregat. 

KUMPULAN OLEH Dan MEMPUNYAI Klausa dalam SQL

Dalam contoh ini, kami akan menunjukkan perbezaan antara pernyataan WHERE dan klausa HAVING . Kami akan menggunakan objektif yang sama yang kami ada dalam contoh sebelumnya supaya kami boleh membandingkan dan menilai hasilnya. 

Mari kita paparkan produk dengan jumlah jualannya dahulu menggunakan arahan di bawah. Seperti yang anda lihat, arahan pertama kami masih sama dengan arahan pertama kami yang melaksanakan pernyataan WHERE .

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Jika kami melaksanakan dua arahan pertama kami, kami akan mendapat hasil berikut:

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Sekarang, katakan kami hanya mahu memaparkan produk yang jumlah jualannya melebihi 5. Kami tidak boleh menggunakan pernyataan WHERE  kerana ia hanya boleh digunakan dengan lajur sedia ada. Oleh itu, kita perlu menggunakan klausa HAVING kerana kita akan menapis daripada fungsi agregat. 

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Perhatikan cara kami menggunakan klausa HAVING selepas GROUP BY tidak seperti pernyataan WHERE yang digunakan sebelum GROUP BY. Ini kerana SQL akan mengumpulkan rekod sebelum ia menilai klausa HAVING

Mari kita laksanakan arahan tersebut bersama-sama dengan HAVING SUM(SaleAmount)>5 . Selepas menyatakan bahawa kami hanya mahu mendapatkan produk yang jumlah harganya melebihi 5, kami akan mendapati bahawa dalam jadual hasil semasa kami, kami tidak akan melihat Pen lagi . Itu kerana jumlahnya kurang daripada 5

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Secara ringkasnya, apabila kami ingin menapis data daripada jadual kami berdasarkan lajur sedia ada, kami menggunakan klausa WHERE , manakala apabila kami ingin menapis data daripada fungsi agregat, kami menggunakan klausa HAVING

HAVING DAN WHERE Klausa Dalam SQL Server Management Studio (SSMS)

Sekarang, kita akan bergerak ke hadapan dengan membincangkan dan menunjukkan cara kita boleh melaksanakan klausa HAVING dalam SQL Server Management Studio (SSMS). Kami juga akan menangani perbezaan antara klausa HAVING dan klausa WHERE dengan memberikan contoh.

Ditunjukkan di bawah ialah data sampel SalesOrderHeader kami. Data ini terdiri daripada 100 baris. Untuk contoh kami, kami ingin mendapatkan TotalSale by CustomerID dengan TotalSale melebihi 10000 . Ambil perhatian bahawa jumlah jualan adalah berdasarkan daripada jumlah nilai lajur TotalDue .

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Mula-mula, izinkan saya menunjukkan sebab kita tidak boleh menggunakan klausa WHERE apabila kita ingin menapis pada fungsi agregat berdasarkan contoh kami di atas. 

Kami akan menggunakan set sampel arahan daripada imej di bawah. Seperti yang anda lihat, kami secara teknikal mempunyai set arahan yang sama seperti yang kami ada dari contoh pertama kami.

Walau bagaimanapun, apabila kami mengklik Laksanakan di penjuru kiri sebelah atas, ia akan mengakibatkan ralat kerana kami tidak boleh menggunakan klausa WHERE sahaja apabila kami menapis pada fungsi agregat.

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Untuk membetulkan ralat, kita perlu menapis hasil menggunakan klausa HAVING dan bukannya klausa WHERE . Set arahan baharu kami hendaklah serupa dengan imej di bawah.

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Kini, kami dapat melihat bahawa ralat kami telah diperbetulkan dan mengandungi keputusan setiap ID Pelanggan dengan JumlahJualan lebih daripada 10000 .

Sekali lagi, klausa WHERE sentiasa digunakan sebelum klausa GROUP BY , manakala klausa HAVING sentiasa digunakan selepas klausa GROUP BY .

Menggunakan Kedua-dua Klausa HAVING Dan Klausa WHERE Dalam SQL  

Untuk contoh ini, katakan kita mahu menggunakan klausa WHERE dan HAVING pada masa yang sama. Mari cuba dapatkan TotalSale by CustomerID yang JumlahSale melebihi 10000 tetapi hanya dengan pelanggan yang TerritoryID mereka bersamaan dengan 1

Memandangkan kami ingin menapis hasil dengan pelanggan yang mempunyai 1 sebagai TerritoryID mereka , kami akan menggunakan klausa WHERE. Jadi perintah kita harus sama dengan perintah kita sebelumnya. Sekali lagi, kami telah menambahkan klausa WHERE sebelum klausa GROUP BY.

MEMPUNYAI Klausa Dalam Fungsi Agregat SQL

Buat masa ini, kami tidak dapat melihat banyak perbezaan antara keputusan kami yang terdahulu dan yang baru ini. Walau bagaimanapun, jika anda melihat dengan teliti di sudut kanan bawah, kami kini hanya mempunyai 64 baris berbanding baris sebelumnya dengan 505 baris data. Ini kerana keputusannya ditapis berdasarkan TerritoryID mereka juga.

Kesimpulan

Untuk meringkaskan, kita hanya boleh menggunakan klausa WHERE dengan lajur sedia ada. Jika kita perlu menapis dengan fungsi agregat, kita perlu menggunakan klausa HAVING sebaliknya.

Menggunakan klausa HAVING dalam fungsi agregat SQL dan mempraktikkan cara untuk melaksanakan klausa HAVING dan klausa WHERE bersama-sama boleh memberikan kemudahan kepada pengguna apabila bekerja pada sejumlah besar data atau rekod. 

Saya harap saya telah memberikan anda maklumat dan pemahaman yang mencukupi mengenai cara menggunakan klausa HAVING dalam fungsi agregat SQL. Jika anda ingin mengetahui lebih lanjut tentang topik ini dan kandungan lain yang berkaitan, anda pasti boleh menyemak senarai pautan yang berkaitan di bawah.

Semua yang terbaik,

Hafiz


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu