กลุ่ม SQL ตามวันที่

Klum Sql Tam Wan Thi



SQL GROUP BY clause เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการจัดกลุ่มและรวบรวมข้อมูล เป็นวิธีที่ยอดเยี่ยมในการจัดกลุ่มข้อมูลตามเกณฑ์เฉพาะ จากนั้นดำเนินการกับกลุ่มผลลัพธ์

กรณีการใช้งานทั่วไปอย่างหนึ่งสำหรับ GROUP BY คือการจัดกลุ่มตามวันที่ ในบทช่วยสอนนี้ เราจะเรียนรู้พื้นฐานของการทำงานกับ GROUP BY clause และหารือเกี่ยวกับวิธีใช้เพื่อจัดกลุ่มข้อมูลตามวันที่ใน SQL







บันทึก: เราคิดว่าคุณมีความเข้าใจพื้นฐานเกี่ยวกับ SQL เพื่อวัตถุประสงค์ในการสาธิต เราใช้ตัวอย่างในบทช่วยสอนนี้กับ MySQL 8 อย่างไรก็ตาม คุณสามารถพอร์ตแนวคิดของบทช่วยสอนนี้ไปยังกลไกฐานข้อมูล SQL อื่นๆ ได้อย่างอิสระ



ตารางตัวอย่าง:

ขั้นตอนแรกคือการตั้งค่าตารางพื้นฐานและข้อมูลตัวอย่างสำหรับการสาธิต หากคุณมีตารางอยู่แล้วที่ต้องการใช้งาน โปรดข้ามส่วนนี้ไปได้เลย



เมื่อต้องการสร้างตาราง ให้ใช้แบบสอบถามต่อไปนี้:





สร้างธุรกรรมตาราง (
รหัส int ไม่ใช่ null auto_increment คีย์หลัก
วันที่ วันที่,
จำนวนทศนิยม ( 10 , 2 )
) ;


เมื่อคุณสร้างตารางแล้ว ให้แทรกข้อมูลตัวอย่างดังที่แสดงต่อไปนี้:

INSERT INTO การทำธุรกรรม ( วันที่ , จำนวน )
ค่านิยม
( '2023-01-01' , 100.00 น ) ,
( '2023-01-02' , 50.00 น ) ,
( '2023-01-03' , 75.00 น ) ,
( '2023-01-04' , 200.00 น ) ,
( '2023-01-05' , 150.00 ) ,
( '2023-01-06' , 175.00 น ) ,
( '2023-01-07' , 50.00 น ) ,
( '2023-01-08' , 100.00 น ) ,
( '2023-01-09' , 25.00 น ) ,
( '2023-01-10' , 75.00 น ) ,
( '2023-01-11' , 150.00 ) ,
( '2023-01-12' , 200.00 น ) ,
( '2023-01-13' , 250.00 ) ,
( '2023-01-14' , 175.00 น ) ,
( '2023-01-15' , 150.00 ) ,
( '2023-01-16' , 100.00 น ) ,
( '2023-01-17' , 50.00 น ) ,
( '2023-01-18' , 75.00 น ) ;


สิ่งนี้ควรเพิ่มข้อมูลสุ่มลงในตารางธุรกรรม เราสามารถใช้คำสั่ง select เพื่อแสดงตารางผลลัพธ์ได้ดังนี้



เลือก * จากการทำธุรกรรม


ตารางผลลัพธ์:


เมื่อเราเตรียมข้อมูลเรียบร้อยแล้ว เราก็สามารถดำเนินการขั้นตอนต่อไปได้

กลุ่ม SQL ตามวันที่

อย่างที่คุณเดาได้ เราใช้ GROUP BY clause เพื่อแบ่งข้อมูลในตารางที่กำหนดตามค่าเฉพาะ ไวยากรณ์ของประโยคมีดังนี้:

เลือกคอลัมน์ 1, คอลัมน์ 2, ...
จาก table_name
จัดกลุ่มตามคอลัมน์ 1, คอลัมน์ 2, ...;


ในไวยากรณ์ก่อนหน้านี้ เราใช้ส่วนคำสั่ง GROUP BY เพื่อระบุคอลัมน์ที่คุณต้องการจัดกลุ่มข้อมูลตาม

จากตารางที่แล้ว เราสามารถใช้คอลัมน์วันที่เพื่อจัดกลุ่มข้อมูลตามที่แสดงในแบบสอบถามต่อไปนี้:

เลือก วันที่ , ผลรวม ( จำนวน ) เช่น total_amount
จากการทำธุรกรรม
กลุ่มโดย วันที่ ;


แบบสอบถามก่อนหน้าทำการคำนวณพื้นฐานและบวกยอดรวมสำหรับแต่ละวันโดยใช้ฟังก์ชัน sum() จากนั้นเราจะจัดกลุ่มข้อมูลตามค่าวันที่ ตารางผลลัพธ์มีดังนี้:

จัดรูปแบบวันที่

บางครั้ง เราอาจต้องจัดรูปแบบวันที่และทำให้อ่านง่ายขึ้น ตัวอย่างมีดังนี้:

เลือก DATE_FORMAT ( วันที่ , '%m/%d/%Y' ) เช่น จัดรูปแบบวันที่, SUM ( จำนวน ) เช่น total_amount
จากการทำธุรกรรม
กลุ่มโดย วันที่ ;


สิ่งนี้ควรส่งคืนค่าวันที่ในรูปแบบที่ระบุดังนี้:

ช่วงวันที่ตัวกรอง SQL

เรายังสามารถกรองผลลัพธ์ที่กำหนดตามช่วงวันที่โดยใช้ส่วนคำสั่ง WHERE ตัวอย่างมีดังนี้:

เลือก DATE_FORMAT ( วันที่ , '%m/%d/%Y' ) เช่น จัดรูปแบบวันที่, SUM ( จำนวน ) เช่น total_amount
จากการทำธุรกรรม
ที่ไหน วันที่ ระหว่าง '2023-01-01' และ '2023-01-15'
กลุ่มโดย วันที่ ;


ตารางผลลัพธ์จะแสดงดังต่อไปนี้:


คุณมีมัน! วิธีจัดกลุ่มข้อมูลจากตารางที่กำหนดตามค่าวันที่

บทสรุป

บทช่วยสอนนี้สำรวจพื้นฐานของการทำงานกับ GROUP BY clause ใน SQL เพื่อจัดเรียงข้อมูลตามค่าเฉพาะ สิ่งนี้ทำให้เราสามารถอธิบายวิธีใช้ GROUP BY clause เพื่อแบ่งข้อมูลตามค่าวันที่