เมื่อมีข้อมูลจำนวนมากเรามักจะเห็นความเป็นไปได้ที่จะจัดการข้อมูลตามความต้องการของเรา GROUP BY clause เป็นหนึ่งในนั้น ใช้เพื่อจัดกลุ่มข้อมูลตามคอลัมน์ไม่กี่คอลัมน์หรือตามเงื่อนไข ในบทความเกี่ยวกับคำสั่ง SQL GROUP BY ฉันจะพูดถึงสองสามวิธีในการใช้คำสั่ง GROUP BY ตามลำดับต่อไปนี้:
ก่อนที่เราจะไปดูตัวอย่างวิธีการใช้ GROUP BY clause ให้เราเข้าใจว่า GROUP BY ใน SQL คืออะไรและไวยากรณ์ของมัน
คำสั่ง SQL GROUP BY
คำสั่งนี้ใช้เพื่อจัดกลุ่มระเบียนที่มีค่าเดียวกัน คำสั่ง GROUP BY มักใช้กับฟังก์ชันการรวมเพื่อจัดกลุ่มผลลัพธ์ตามคอลัมน์อย่างน้อยหนึ่งคอลัมน์นอกจากนี้ GROUP BY clause ยังใช้กับ HAVING clause และ เพื่อจัดกลุ่มผลลัพธ์ที่กำหนดตามเงื่อนไข
SQL GROUP ตามไวยากรณ์
เลือก Column1, Column2, ... , ColumnN จาก TableName WHERE Condition GROUP BY ColumnName (s) ORDER BY ColumnName (s)
ที่นี่คุณสามารถเพิ่มฟังก์ชันการรวมก่อนชื่อคอลัมน์และยังมีส่วนคำสั่ง HAVING ที่ส่วนท้ายของคำสั่งเพื่อกล่าวถึงเงื่อนไขต่อไปในบทความเกี่ยวกับ SQL GROUP BY ให้เราเข้าใจวิธีการใช้คำสั่งนี้
ตัวอย่าง:
เพื่อความเข้าใจที่ดีขึ้นฉันได้แบ่งตัวอย่างออกเป็นส่วนต่อไปนี้:
ฉันจะพิจารณาตารางต่อไปนี้เพื่ออธิบายให้คุณเห็นตัวอย่าง:
EmpID | EmpName | EmpEmail | หมายเลขโทรศัพท์ | เงินเดือน | เมือง |
หนึ่ง | นิดนึง | nidhi@sample.com | 9955669999 | 50,000 | มุมไบ |
2 | Anay | anay@sample.com | 9875679861 | 55000 | ใส่ |
3 | ราหุล | rahul@sample.com | 9876543212 | 35000 วิธีใช้คนตัดไม้ใน java | เดลี |
4 | โซเนีย | sonia@sample.com | 9876543234 | 35000 | เดลี |
5 | Akash | akash@sample.com | 9866865686 | 25000 | มุมไบ |
ให้เราดูที่แต่ละคน
ใช้ SQL GROUP BY ในคอลัมน์เดียว
ตัวอย่าง:
เขียนแบบสอบถามเพื่อดึงจำนวนพนักงานในแต่ละเมือง
เลือก COUNT (EmpID) เมืองจากกลุ่มพนักงานตามเมือง
เอาท์พุต:
คุณจะเห็นผลลัพธ์ต่อไปนี้:
นับ (EmpID) | เมือง |
2 | เดลี |
2 | มุมไบ |
หนึ่ง | ใส่ |
ใช้ SQL GROUP BY ในหลายคอลัมน์
ตัวอย่าง:
เขียนแบบสอบถามเพื่อดึงจำนวนพนักงานที่มีเงินเดือนแตกต่างกันในแต่ละเมือง
เลือกเมืองเงินเดือนจำนวน (*) จากกลุ่มพนักงานตามเมืองเงินเดือน
เอาท์พุต:
ตารางจะมีข้อมูลต่อไปนี้:
เมือง | เงินเดือน | นับ(*) |
เดลี | 35000 | 2 |
มุมไบ | 25000 การสอนการเขียนโปรแกรม sas สำหรับผู้เริ่มต้น | หนึ่ง |
มุมไบ | 50,000 | หนึ่ง |
ใส่ | 55000 | หนึ่ง |
ใช้ SQL GROUP BY กับ ORDER BY
เมื่อเราใช้คำสั่ง SQL GROUP BY กับ ORDER BY clause ค่าจะเรียงลำดับจากน้อยไปมากหรือมากไปหาน้อย
ตัวอย่าง:
เขียนแบบสอบถามเพื่อดึงข้อมูลจำนวนพนักงานในแต่ละเมืองโดยเรียงลำดับจากมากไปหาน้อย
เลือก COUNT (EmpID) เมืองจากกลุ่มพนักงานตามเมืองสั่งซื้อโดย COUNT (EmpID) DESC
เอาท์พุต:
ตารางจะมีข้อมูลต่อไปนี้:
นับ (EmpID) | เมือง |
2 | เดลี |
2 | มุมไบ |
หนึ่ง | ใส่ |
ใช้ SQL GROUP BY กับ HAVING clause
คำสั่ง SQL GROUP BY ใช้กับประโยค 'HAVING' เพื่อกล่าวถึงเงื่อนไขในกลุ่มนอกจากนี้เนื่องจากเราไม่สามารถใช้ฟังก์ชันการรวมกับคำสั่ง WHERE ได้เราจึงต้องใช้คำสั่ง 'HAVING' เพื่อใช้ฟังก์ชันการรวมกับ GROUP BY
ตัวอย่าง:
เขียนแบบสอบถามเพื่อดึงจำนวนพนักงานในแต่ละเมืองโดยมีเงินเดือน> 15000
เลือก COUNT (EmpID) เมืองจากกลุ่มพนักงานตามเมืองที่มีเงินเดือน> 15,000
เอาท์พุต:
เนื่องจากระเบียนทั้งหมดในตารางพนักงานมีเงินเดือน> 15,000 เราจะเห็นตารางต่อไปนี้เป็นผลลัพธ์:
นับ (EmpID) | เมือง |
2 | เดลี |
2 | มุมไบ |
หนึ่ง | ใส่ |
ใช้ GROUP BY กับ JOINS
คือ SQL คำสั่งที่ใช้เพื่อรวมแถวจากสองตารางขึ้นไปโดยยึดตามคอลัมน์ที่เกี่ยวข้องระหว่างตารางเหล่านั้น เราสามารถใช้คำสั่ง SQL GROUP BY เพื่อจัดกลุ่มชุดผลลัพธ์ตามคอลัมน์ / คอลัมน์พิจารณาตารางด้านล่างเพื่อดำเนินการคำสั่ง JOIN ด้วยคำสั่ง SQL GROUP BY
ตารางโครงการ:
ProjectID | EmpID | ClientID | ProjectDate |
2. 3. 4. 5 | หนึ่ง | 4 | 01-26-2562 |
9876 | 2 | 5 | 02-28-2019 |
3456 | 3 | 6 | 03-12-2019 |
ตารางลูกค้า:
ClientID | ชื่อลูกค้า |
4 | Sanjana |
5 | โรฮัน |
6 | อรุณ |
ตัวอย่าง
เขียนแบบสอบถามเพื่อแสดงรายการจำนวนโครงการที่ลูกค้าแต่ละรายร้องขอ:
เลือกไคลเอ็นต์ ClientName, COUNT (Projects.ProjectID) ตามที่ร้องขอโปรเจ็กต์จากโปรเจ็กต์ที่เหลือเข้าร่วมไคลเอ็นต์บนโปรเจ็กต์ ProjectID = ไคลเอนต์กลุ่ม ProjectID ตามชื่อไคลเอ็นต์
เอาท์พุต:
ตารางจะมีข้อมูลต่อไปนี้:
ชื่อลูกค้า | ร้องขอโครงการ |
อรุณ | หนึ่ง |
โรฮัน | หนึ่ง |
Sanjana | หนึ่ง |
ด้วยเหตุนี้เราจึงมาถึงตอนท้ายของบทความ SQL GROUP BY ตรวจสอบสิ่งนี้ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่าย หรือ มีผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรนี้ฝึกคุณเกี่ยวกับแนวคิดหลักและเครื่องมือและเทคนิคขั้นสูงในการจัดการข้อมูลและจัดการฐานข้อมูล MySQL ซึ่งรวมถึงการเรียนรู้เชิงปฏิบัติเกี่ยวกับแนวคิดเช่น MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, การออกแบบฐานข้อมูล, บรรทัดคำสั่ง MySQL, MySQL Functions เป็นต้นสิ้นสุดการฝึกอบรมคุณจะสามารถสร้างและจัดการฐานข้อมูล MySQL ของคุณเองและ จัดการข้อมูล
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ“ SQL GROUP BY” และเราจะติดต่อกลับโดยเร็วที่สุด