Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
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.
Katakan kita ingin mendapatkan Jumlah Jualan produk berdasarkan lajur SaleAmountnya yang nilainya lebih besar daripada 2 . Untuk mendapatkan hasilnya, arahan kami hendaklah seperti berikut:
Mula-mula, kami memilih ProductName dan agregat SaleAmount untuk mendapatkan TotalSales.
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.
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 .
Jika kami melaksanakan dua arahan pertama kami, kami akan mendapat hasil berikut:
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.
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 .
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 .
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.
Untuk membetulkan ralat, kita perlu menapis hasil menggunakan klausa HAVING dan bukannya klausa WHERE . Set arahan baharu kami hendaklah serupa dengan imej di bawah.
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.
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
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.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
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.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
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