ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ในบทช่วยสอนนี้ เราจะพูดถึงสองสามวิธีที่เราสามารถใช้หรือดำเนินการ HAVING Clause ในฟังก์ชันการรวมของSQL การใช้ส่วนนี้ในฟังก์ชันรวมของ SQL สามารถช่วยในการสรุปข้อมูลได้อย่างมาก
HAVING Clause เกือบจะคล้ายกับ คำสั่ง WHEREและยังสามารถดำเนินการควบคู่ไปด้วย
เราจะหารือเกี่ยวกับความสัมพันธ์และความแตกต่างโดยให้ตัวอย่างในขณะที่เราอ่านบทช่วยสอนนี้
สารบัญ
จัดกลุ่มตามคำสั่งและตำแหน่งใน SQL
สำหรับตัวอย่างแรก เราจะพูดถึงวิธีดำเนินการคำสั่งWHEREและGROUP BY โดยใช้ตารางตัวอย่างด้านล่าง โปรดทราบว่าเราสามารถใช้ ส่วนคำสั่ง WHEREกับคอลัมน์ที่มีอยู่เท่านั้น และไม่สามารถใช้กับฟังก์ชันรวมเพียงอย่างเดียว
สมมติว่าเราต้องการรับยอดขายรวมของผลิตภัณฑ์ตามคอลัมน์ SaleAmount ซึ่งมีค่ามากกว่า2 เพื่อให้ได้ผลลัพธ์ คำสั่งของเราควรเป็นดังนี้:
อันดับแรก เราเลือกProductNameและรวมSaleAmountเพื่อรับTotalSales
จากนั้น เราใช้ คำสั่ง WHEREที่นี่ เนื่องจากเราพยายามรับเฉพาะผลิตภัณฑ์ที่SaleAmountมากกว่า2คำสั่ง'GROUP BY ProductName'ระบุว่าจะจัดกลุ่มแถวภายใต้คอลัมน์ProductNameเป็นหนึ่งเดียว
การดำเนินการชุดคำสั่งของเรา เราจะเห็นว่าจากข้อมูลทั้งหมดภายใต้คอลัมน์ProductNameและSaleAmount มี เพียงหลอดไฟและพัดลมเท่านั้นที่แสดง นั่นเป็นเพราะว่าพวกเขาเป็นคนเดียวที่มีSaleAmountมากกว่า2
ในตัวอย่างนี้ คำ สั่งWHEREใช้สำหรับกรองผลลัพธ์ด้วยคอลัมน์ที่มีอยู่ ซึ่งก็คือSaleAmount ของเรา นอกจากนี้ โปรดทราบว่า คำสั่ง WHEREจะปรากฏก่อนGROUP BYและไม่สามารถใช้เพื่อกรองฟังก์ชันการรวมได้ ในทางกลับกันHAVING clause จะปรากฏหลังGROUP BYและใช้สำหรับการกรองตามฟังก์ชันการรวม
จัดกลุ่มตามและมีส่วนคำสั่งใน SQL
ในตัวอย่างนี้ เราจะแสดงให้เห็นถึงความแตกต่างระหว่าง คำสั่ง WHEREและคำสั่งHAVING เราจะใช้วัตถุประสงค์เดียวกันกับในตัวอย่างก่อนหน้านี้ เพื่อให้เราสามารถเปรียบเทียบและประเมินผลลัพธ์ได้
ขั้นแรกให้แสดงผลิตภัณฑ์ที่มียอดขายรวมโดยใช้คำสั่งด้านล่าง อย่างที่คุณเห็น คำสั่งแรกของเรายังคงเหมือนกับคำสั่งแรกที่ใช้คำสั่งWHERE
หากเราต้องดำเนินการสองคำสั่งแรก เราจะได้ผลลัพธ์ดังต่อไปนี้:
ตอนนี้ สมมติว่าเราต้องการแสดงเฉพาะสินค้าที่มียอดขายรวมมากกว่า 5 รายการ เราไม่สามารถใช้ คำสั่ง WHERE ได้ เนื่องจากใช้ได้กับคอลัมน์ที่มีอยู่เท่านั้น ดังนั้น เราจำเป็นต้องใช้HAVING clause เนื่องจากเราจะกรองจากฟังก์ชันรวม
สังเกตวิธีที่เราใช้HAVING clause หลังGROUP BYซึ่งแตกต่างจาก คำสั่ง WHEREที่ใช้ก่อนGROUP BY เนื่องจาก SQL จะจัดกลุ่มเร็กคอร์ดก่อนที่จะประเมินHAVING clause
จากนั้นให้ดำเนินการคำ สั่งเหล่านั้นพร้อมกับHAVING SUM(SaleAmount)>5 หลังจากระบุว่าเราต้องการรับเฉพาะสินค้าที่ราคารวมมากกว่า5เราจะสังเกตเห็นว่าในตารางผลลัพธ์ปัจจุบัน เราจะไม่เห็นปากกาอีกต่อไป นั่นเป็นเพราะผล รวม น้อยกว่า5
โดยสังเขป เมื่อเราต้องการกรองข้อมูลจากตารางของเราตามคอลัมน์ที่มีอยู่ เราจะใช้ส่วนคำสั่ง WHERE ในขณะ ที่ เมื่อเราต้องการกรองข้อมูลจากฟังก์ชันรวม เราจะใช้ส่วนคำสั่ง HAVING
HAVING และ WHERE Clause ใน SQL Server Management Studio (SSMS)
ตอนนี้ เราจะก้าวไปข้างหน้าโดยการพูดคุยและสาธิตวิธีดำเนินการHAVING clauseในSQL Server Management Studio (SSMS) นอกจากนี้ เราจะจัดการกับความแตกต่างระหว่างประโยค HAVINGและประโยค WHEREด้วยการยกตัวอย่าง
ด้านล่างนี้เป็นตัวอย่างข้อมูลSalesOrderHeader ของเรา ข้อมูลนี้ประกอบด้วย100 แถว ตัวอย่างเช่น เราต้องการ รับTotalSaleตามรหัสลูกค้าโดยที่TotalSaleมากกว่า10,000 โปรดทราบว่ายอดขายรวมจะขึ้นอยู่กับผลรวมของค่าในคอลัมน์TotalDue
ขั้นแรก ให้ฉันสาธิตว่าทำไมเราจึงไม่สามารถใช้ส่วนคำสั่ง WHEREเมื่อเราต้องการกรองฟังก์ชันการรวมตามตัวอย่างข้างต้น
เราจะใช้ชุดคำสั่งตัวอย่างจากภาพด้านล่าง อย่างที่คุณเห็น ในทางเทคนิคแล้ว เรามีชุดคำสั่งเดียวกันกับชุดคำสั่งที่เราได้รับจากตัวอย่างแรกของเรา
อย่างไรก็ตาม เมื่อเราคลิกที่Executeที่มุมบนซ้าย จะทำให้เกิดข้อผิดพลาด เนื่องจากเราไม่สามารถใช้ คำสั่ง WHEREเพียงอย่างเดียวเมื่อเรากรองฟังก์ชันการรวม
ในการแก้ไขข้อผิดพลาด เราจำเป็นต้องกรองผลลัพธ์โดยใช้ ส่วนคำสั่ง HAVINGแทนส่วนคำสั่งWHERE ชุดคำสั่งใหม่ของเราควรคล้ายกับภาพด้านล่าง
ตอนนี้ เราจะเห็นว่าข้อผิดพลาดของเราได้ รับการแก้ไขแล้ว และมีผลลัพธ์ต่อCustomerIDที่มีTotalSaleมากกว่า10,000
อีกครั้งส่วนคำสั่ง WHEREจะใช้ก่อนส่วนคำสั่ง GROUP BY เสมอในขณะที่ส่วนคำสั่ง HAVINGจะใช้หลังส่วนคำสั่ง GROUP BY เสมอ
ใช้ทั้ง HAVING Clause และ WHERE Clause ใน SQL
สำหรับตัวอย่างนี้ สมมติว่าเราต้องการใช้ คำสั่ง WHEREและHAVINGพร้อมกัน มาลองรับTotalSale ตาม CustomerID โดยที่TotalSaleมากกว่า10,000แต่เฉพาะกับลูกค้าที่TerritoryID ของพวกเขา เท่ากับ1
เนื่องจากเราต้องการกรองผลลัพธ์กับลูกค้าที่มี 1 เป็นTerritoryIDเราจึงใช้ส่วนคำสั่ง WHERE ดังนั้นคำสั่งของเราควรเหมือนกับคำสั่งก่อนหน้าของเรา อีกครั้ง เราได้เพิ่มส่วนคำสั่ง WHEREก่อนส่วนคำสั่ง GROUP BY
สำหรับตอนนี้ เราไม่เห็นความแตกต่างมากนักระหว่างผลลัพธ์ก่อนหน้ากับผลลัพธ์ใหม่นี้ อย่างไรก็ตาม หากคุณดูที่มุมขวาล่างอย่างละเอียด ตอนนี้เรามีข้อมูลเพียง64 แถวเมื่อเทียบกับข้อมูลก่อนหน้าที่มีข้อมูล505 แถว นั่นเป็นเพราะผลลัพธ์จะถูกกรองตามTerritoryIDเช่นกัน
บทสรุป
โดยสรุป เราสามารถใช้ ส่วนคำสั่ง WHEREกับคอลัมน์ที่มีอยู่ เท่านั้น หากเราต้องการกรองด้วยฟังก์ชันรวม เราจำเป็นต้องใช้HAVING clause แทน
การใช้ ส่วนคำสั่ง HAVINGในฟังก์ชันการรวมของ SQL และวิธีฝึกฝนเพื่อดำเนินการ ส่วนคำสั่ง HAVINGและ ส่วนคำสั่ง WHEREร่วมกัน จะช่วยให้ผู้ใช้สะดวกเมื่อทำงานกับข้อมูลหรือบันทึกจำนวนมาก
ฉันหวังว่าฉันได้ให้ข้อมูลและความเข้าใจที่เพียงพอแก่คุณเกี่ยวกับวิธีใช้HAVING clause ในฟังก์ชันการรวม SQL หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้และเนื้อหาที่เกี่ยวข้องอื่นๆ คุณสามารถดูรายการลิงก์ที่เกี่ยวข้องด้านล่างได้อย่างแน่นอน
สิ่งที่ดีที่สุด
ฮาฟิซ
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้