กลุ่ม SQLite โดย
GROUP BY อนุประโยค SQLite สำหรับใช้กับคำสั่ง SELECT ไปยังกลุ่มข้อมูลเดียวกัน
ในคำสั่ง SELECT GROUP BY ประโยคหนึ่งในคำสั่ง WHERE หลังจากที่วางไว้ก่อนที่จะ ORDER BY ประโยค
ไวยากรณ์
ต่อไปนี้จะแสดงให้เห็นว่ากลุ่มไวยากรณ์พื้นฐานประโยคตาม กลุ่มตามข้อต้องถูกวางไว้หลังคำสั่ง WHERE เงื่อนไขนั้นจะต้องถูกวางไว้ก่อน ORDER BY ประโยค
เลือกคอลัมน์รายการ จาก table_name โดยที่ [เงื่อนไข] จำแนกตามกลุ่ม COLUMN1, column2 .... COLUMNN ORDER BY COLUMN1, column2 .... COLUMNN
คุณสามารถใช้หลายคอลัมน์ในกลุ่มโดยข้อ ตรวจสอบให้แน่ใจว่าคุณใช้การจัดกลุ่มคอลัมน์ในรายการคอลัมน์
ตัวอย่าง
ตาราง บริษัท สมมติว่ามีการบันทึกต่อไปนี้:
ID NAME เงินเดือนอายุที่อยู่ ---------- ---------- ---------- ---------- ---------- 1 เปาโล 32 20,000.0 แคลิฟอร์เนีย 2 อัลเลน 25 15,000.0 เท็กซัส เท็ดดี้ 3 23 นอร์เวย์ 20,000.0 4 มาร์ครวย 25-Mond 65,000.0 5 ดาวิด 27 85,000.0 เท็กซัส 6 คิม 22 ใต้ 45,000.0 ฮอลล์ 7 เจมส์ 24 ฮุสตัน 10,000.0
หากคุณต้องการที่จะรู้ว่าการเรียกเก็บเงินค่าจ้างทั้งหมดของลูกค้าแต่ละรายคุณสามารถใช้กลุ่มตามแบบสอบถามดังนี้
SQLite> เลือกชื่อ, Sum (Salary) จาก บริษัท GROUP BY NAME;
นี้ก่อให้เกิดผลลัพธ์ต่อไปนี้:
NAME SUM (Salary) ---------- ----------- อัลเลน 15,000.0 เดวิด 85,000.0 เจมส์ 10,000.0 คิม 45,000.0 มาร์ค 65,000.0 พอล 20000.0 เท็ดดี้ 20,000.0
ตอนนี้ขอใช้คำสั่ง INSERT ต่อไปนี้เพื่อสร้างอีกสามคอร์ดในตาราง บริษัท :
แทรกค่า บริษัท (8 'พอล', 24, 'ฮุสตัน' 20,000.00); แทรกค่า บริษัท (9, 'เจมส์', 44, 'นอร์เวย์' 5,000.00); แทรกค่า บริษัท (10, 'เจมส์', 45, เท็กซัส '5,000.00);
ตอนนี้ตารางของเรามีชื่อซ้ำกันบันทึกดังต่อไปนี้:
ID NAME เงินเดือนอายุที่อยู่ ---------- ---------- ---------- ---------- ---------- 1 เปาโล 32 20,000.0 แคลิฟอร์เนีย 2 อัลเลน 25 15,000.0 เท็กซัส เท็ดดี้ 3 23 นอร์เวย์ 20,000.0 4 มาร์ครวย 25-Mond 65,000.0 5 ดาวิด 27 85,000.0 เท็กซัส 6 คิม 22 ใต้ 45,000.0 ฮอลล์ 7 เจมส์ 24 ฮุสตัน 10,000.0 8 พอล 24 ฮุสตัน 20,000.0 9 เจมส์ 44 นอร์เวย์ 5,000.0 10 เจมส์ 45 เท็กซัส 5000.0
ให้เราใช้กลุ่มเดียวกันคำสั่งไปยังกลุ่มระเบียนทั้งหมดกดคอลัมน์ NAME ดังต่อไปนี้:
SQLite> SELECT ชื่อ SUM (Salary) จาก บริษัท GROUP BY NAME ORDER BY NAME;
นี้ก่อให้เกิดผลลัพธ์ต่อไปนี้:
NAME SUM (Salary) ---------- ----------- อัลเลน 15000 เดวิด 85000 เจมส์ 20000 คิม 45000 มาร์ค 65000 พอล 40000 เท็ดดี้ 20000
ให้ข้อ ORDER BY ถูกนำมาใช้ร่วมกับกลุ่มตามข้อดังต่อไปนี้:
SQLite> เลือกชื่อ, Sum (Salary) จาก บริษัท GROUP BY NAME ORDER BY NAME DESC;
นี้ก่อให้เกิดผลลัพธ์ต่อไปนี้:
NAME SUM (Salary) ---------- ----------- เท็ดดี้ 20000 พอล 40000 มาร์ค 65000 คิม 45000 เจมส์ 20000 เดวิด 85000 อัลเลน 15000