StepCoding

ฟังก์ชันหาผลรวมโดยการจัดกลุ่มด้วย GROUP BY

อ่าน [2286] หมวดหมู่: คำสั่ง SELECT เบื้องต้น

คำสั่ง SELECT นั้นจะคืนค่าเรคอร์ด ต่าง ๆ ตามเงื่อนไขที่เรากำหนดไป ซึ่งในแต่ละแถวจะประกอบไปด้วยข้อมูลที่บอกถึงรายละเอียดของแถวนั้น ๆ แต่ถ้าเราต้องการรู้เกี่ยวกับข้อมูลโดยรวม เราก็จะสนใจในเรื่องของการสรุปผลของข้อมูลนั้น ๆ แทน ดังนั้นเราจึงต้องใช้ function ในการหาผลรวมเพื่อคำนวณข้อมูลโดยสรุปออกมา โดยเราจะต้องจัดกลุ่มข้อมูลเหล่านั้นด้วยคำสั่ง GROUP BY เพื่อที่ focus ไปที่ผลสรุปของข้อมูลแต่ละกลุ่ม

ตัวอย่างของการจัดกลุ่มข้อมูล เช่น ถ้าผมต้องการหาผลรวมของยอดขายในแต่ละวัน ซึ่งหมายความว่าผมต้องการ focus ไปที่แต่ละวันนั้น ดังนั้นผมก็ต้องจัดกลุ่มตามวันที่ เพื่อดูว่าผลรวมของยอดขายในวันนั้น ๆ เป็นเท่าไร ดังนี้

SELECT sell_date, SUM(order_price) as TotalPrice FROM orders
GROUP BY sell_date;

ฟังก์ชัน SUM() จะทำการคำนวณหาผลรวมของราคาขายในแต่ละวัน นอกจากนี้เรายังสามารถตรวจสอบเงื่อนไขของการจัดกลุ่มได้ด้วยคำสั่ง HAVING ได้ เช่น ถ้าต้องการตรวจสอบหาวันที่มียอดขายรวมกันมากกว่า 40,000 บาท จะต้องใช้คำสั่งดังนี้

SELECT sell_date, SUM(order_price) as TotalPrice FROM order
GROUP BY sell_date
HAVING sell_date > 40000;

ผู้สนับสนุน