Latest web development tutorials

กลุ่ม 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