ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ในคำสั่ง SQL จะมีเงื่อนไข  Where  และ  Gropb By ที่ถูกใช้เพื่อกรองแถวที่ถูกส่งกลับโดยที่จะ Query  หรือคำสั่ง SELECT database ตามเงื่อนไขที่กำหนดไว้ ซึ่งมีความแตกต่างดังต่อไปนี้

 

WHERE เป็นการระบุเงื่อนไขการค้นหาสำหรับแถวที่ส่งคืนโดย การQuery และ จะจำกัดแถวเฉพาะชุดแถวที่ระบุ หากตารางมีข้อมูล (records) จำนวนมากและมีคนต้องการรับข้อมูลโดยเฉพาะให้ใช้ 'where'  ซึ่งเป็นประโยชน์และเหมาะสมกว่า 

 

GROUP BY  เป็นกาสรุปแถวหรือรวบแถวที่เหมือนกันเป็นกลุ่มเดี่ยว และส่งกลับแถวเดียวพร้อมข้อมูลที่สรุปได้แต่ละกลุ่ม โดยอาจจะใช้ Aggregate function ที่เหมาะสมในการ SELECT เช่น COUNT (), SUM (), MIN (), MAX () , AVG () เป็นต้น  

 

ตัวอย่างการใช้ where 

SELECT * 
FROM [Sales].[Orders]
WHERE Order_Date >= '2017-01-01 00:00:00.000'
AND Order_Date < '2018-01-01 00:00:00.000' 

คำสั่งนี้จะส่งคืนชุดแถวลูกค้าทั้งหมดของ sales และคำสั่งซื้อที่สอดคล้องกันของทั้งปี 2017 

ตัวอย่างการใช้ GROUP BY  

SELECT CustomerID, COUNT(*) AS OrderNumbers
FROM [Sales].[Orders]
WHERE Order_Date >= '2017-01-01 00:00:00.000'
AND Order_Date < '2018-01-01 00:00:00.000'
GROUP BY CustomerId 

คำสั่งนี้จะส่งคืนชุดแถวของลูกค้า (CustomerId) ที่ทำรายการสั่งซื้อในปี 2017 และจำนวนการสั่งซื้อทั้งหมดที่แต่ละลูกค้าทำ

สรุป:

  • WHERE จะใช้ในการกรอง record ก่อนมีการจัดกลุ่มกัน
  • GROUP BY   เป็นจัดกลุ่มของ record และส่งกลับข้อสรุปของแต่ละกลุ่ม

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : SQL และ PHP