Online Reference |
Microsoft Reference |
|
|
Avg FunctionSQL Aggregate Function, ค่าที่ส่งออกมาเป็นการหาเฉลี่ยเลขคณิตของกลุ่มข้อมูลที่เก็บในฟิลด์ที่ระบุในคิวรี่ ไวยากรณ์
ตำแหน่ง expr เป็น expression ของข้อความระบุฟิลด์ที่เก็บข้อมูลตัวเลข ซึ่งต้องการนำมาหาค่าเฉลี่ย หรือเป็น expression ที่ใช้นำข้อมูลของฟิลด์นั้นมาคำนวณ ฟิลด์ใน expression สามารถเป็นชื่อฟิลด์ของ Table, ค่าคงที่ หรือฟังก์ชัน (สามารถนำใช้ฟังก์ชันที่ built-in หรือกำหนดเอง แต่ห้ามใช้ฟังก์ชันอื่นของ SQL aggregate function) ลักษณะการประยุกต์การคำนวณค่าเฉลี่ยโดยฟังก์ชัน Avg เป็นค่าเฉลี่ย (mean ซึ่งนำผลรวมของข้อมูลหารด้วยจำนวนของข้อมูล) เช่น การหาค่าเฉลี่ยของต้นทุนการขนส่ง ฟังก์ชัน Avg ไม่รวมฟิลด์ว่าง (Null field) ในการคำนวณ สามารถใช้ฟังก์ชัน Avg เป็น expression ในคิวรี่ และในคุณสมบัติ SQL ของอ๊อบเจค QueryDef หรือการสร้าง Recordset ที่มาจากคิวรี่ของ SQL ดูเพิ่มเติมอ๊อบเจค QueryDef (DAO Language Reference), คุณสมบัติ SQL (DAO Language Reference) การประยุกต์ใน Accessใน Microsoft Access สามารถใช้ฟังก์ชัน Avg ในตารางออกแบบคิวรี่, ในคำสั่ง SQL ที่ SQL view ของ Query Window, หรือในคำสั่ง SQL ภายในชุดคำสั่ง Visual Basic รวมถึงการใช้ฟังก์ชัน Avg ในการคำนวณตัว control บนฟอร์มหรือรายงาน ฟังก์ชัน Avg มีประโยชน์อย่างมากใน Totals query และ Crosstab query การสร้างฟังก์ชันทำแบบเดียวกับการสร้างฟังก์ชัน Avg ในตารางออกแบบคิวรี่, ในคำสั่ง SQL ที่ SQL view ของ Query Window ในตารางออกแบบคิวรี่ สามารถสร้าง Totals query โดยคลิกปุ่ม Totals บนแถบเครื่องมือ Query Design แถว Totals จะแทรกในตาราง จากนั้นให้ตั้งค่าเซลล์ Totals ของฟิลด์เป็น aggregate function เพื่อคำนวณข้อมูล เช่น สมมติว่ามี Table ชื่อ Orders มีฟิลด์ Freight และ ShipCity ที่ต้องการนำมาสร้างเป็นคิวรี่ เพื่อแสดงผลต้นทุนค่าขนส่งเฉลี่ยตามใบสั่งซื้อที่ส่งไปแต่ละเมือง ให้สร้าง Totals query ใหม่และ drag ฟิลด์ ShipCity ลงในตารางออกแบบคิวรี่ แล้วตั้งค่าเซลล์ Totals ของฟิลด์ ShipCity เป็น Group By จากนั้น drag ฟิลด์ Freight ลงในตารางออกแบบคิวรี่ แล้วตั้งค่าเซลล์ Totals ของฟิลด์ Freight เป็น Avg เมื่อเรียกคิวรี่จะเห็นค่าขนส่งเฉลี่ยตามใบสั่งซื้อที่ส่งไปแต่ละเมือง การดูคำสั่ง SQL ของคิวรี่นี้ ให้เปลี่ยนเป็น SQL view ตามตัวอย่างข้างต้นจะเห็นคำสั่ง SELECT ShipCity, Avg(Freight) As AvgOfFreight From Orders GROUP BY ShipCity; สามารถใช้คำสั่ง SQL ภายในชุดคำสั่ง Visual Basic ตัวอย่างเช่น procedure ต่อไปนี้เป็นการสร้าง dynaset แบบ Recordset ตามคำสั่ง SQL Sub AvgFreight() strSQL = "SELECT ShipCity, Avg(Freight) As AvgOfFreight"_ rst.MoveLast Debug.Print rst.RecordCount Set dbs = Nothing End Sub การใช้ฟังก์ชัน Avg ในการคำนวณตัว control ให้ตั้งค่าของคุณสมบัติ ControlSource ด้วย expression ของฟังก์ชัน Avg เช่น = Avg([Freight]) ถ้าต้องการจำกัดค่าในการคำนวณสำหรับฟังก์ชัน Avg ให้ตั้งค่าในการคัดเลือกข้อมูลที่คุณสมบัติ Filter ตัวอย่างตัวอย่างการหาค่าเฉลี่ยของค่าขนส่งของการสั่งซื้อที่มีค่าขนส่งมากกว่า ฿100 โดยสมมติให้ EnumFields procedure เป็น procedure ในการพิมพ์ผลลัพธ์ Sub AvgX() Dim dbs As Database, rst As Recordset ' ต้องปรับปรุงคำสั่งนี้ให้มีพาร์ทของ Northwind ' คำนวณค่าเฉลี่ยค่าขนส่งของใบสั่งซื้อที่มีค่าขนส่งมากกว่า ฿100 ' เรียก EnumFields พิมพ์เนื้อหาของ Recordset โดยส่งผ่าน Recordset และความกว้างฟิลด์ที่ต้องการ ตัวอย่างการประยุกต์ใน Accessการใช้ฟังก์ชัน Avg ในการคำนวณค่าเฉลี่ยของค่าขนส่งของใบสั่งซื้อที่มีค่าขนส่งมากกว่า ฿100 สามารถสร้าง expression ใน SQL view ของ Query Window SELECT Avg([Freight]) AS [Average Freight] FROM Orders WHERE [Freight] > 100; การใช้ฟังก์ชัน Avg ในการคำนวณค่าตัว control ของฟอร์มเพื่อหาค่าตามตัวอย่างข้างต้น ซึ่งใช้แหล่งข้อมูลจาก Table ชื่อ Orders เช่นเดียวกัน การประยุกต์ฟังก์ชัน Avg ให้สร้างเป็น expression ในคุณสมบัติ ControlSource ของตัว control ในฟอร์ม และการคัดเลือกค่าฟิลด์ Freight ที่มากกว่า ฿100 ให้ กำหนด expression ในคุณสมบัติ Filter ของฟอร์ม = Avg([Freight])
|
||||