Online Reference |
Microsoft Reference |
|
|
Min Function, Max FunctionSQL Aggregate Function, ค่าที่ส่งออกมาเป็นค่าต่ำสุดหรือค่าสูงสุดของกลุ่มข้อมูลที่เก็บในฟิลด์ที่ระบุในคิวรี่ ไวยากรณ์
ตำแหน่ง expr เป็น expression ของข้อความระบุฟิลด์ที่เก็บข้อมูลตัวเลข ซึ่งต้องการนำมาหาค่า หรือเป็น expression ที่ใช้นำข้อมูลของฟิลด์นั้นมาคำนวณ ฟิลด์ใน expression สามารถเป็นชื่อฟิลด์ของ Table, ค่าคงที่ หรือฟังก์ชัน (สามารถนำใช้ฟังก์ชันที่ built-in หรือกำหนดเอง แต่ห้ามใช้ฟังก์ชันอื่นของ SQL aggregate function) ลักษณะการประยุกต์ฟังก์ชัน Min และ Max ใช้หาค่าน้อยที่สุด หรือมากที่สุดของฟิลด์ ขึ้นกับวิธีการสรุป หรือการจัดกลุ่มที่กำหนด เช่น ใช้ฟังก์ชันนี้ส่งออกค่าขนส่งต่ำที่สุดและสูงสุด ถ้าไม่กำหนดวิธีการสรุป จะใช้ Table ทั้งหมด สามารถใช้ฟังก์ชัน Min และ Max เป็น expression ในคิวรี่ และในคุณสมบัติ SQL ของอ๊อบเจค QueryDef หรือการสร้าง Recordset ที่มาจากคิวรี่ของ SQL ดูเพิ่มเติมอ๊อบเจค QueryDef (DAO Language Reference), คุณสมบัติ SQL (DAO Language Reference) การประยุกต์ใน Accessใน Microsoft Access สามารถใช้ฟังก์ชัน Min และ Max ในตารางออกแบบคิวรี่, ในคำสั่ง SQL ที่ SQL view ของ Query Window, หรือในคำสั่ง SQL ภายในชุดคำสั่ง Visual Basic รวมถึงการใช้ฟังก์ชัน Min และ Max ในการคำนวณตัว control บนฟอร์มหรือรายงาน ฟังก์ชัน Min และ Max มีประโยชน์อย่างมากใน Totals query และ Crosstab query การสร้างฟังก์ชันทำแบบเดียวกับการสร้างฟังก์ชัน Min และ Max ในตารางออกแบบคิวรี่, ในคำสั่ง 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 เป็น Min เมื่อเรียกคิวรี่จะเห็นค่าขนส่งที่ต่ำที่สุดตามใบสั่งซื้อที่ส่งไปแต่ละเมือง การดูคำสั่ง SQL ของคิวรี่นี้ ให้เปลี่ยนเป็น SQL view ตามตัวอย่างข้างต้นจะเห็นคำสั่ง SELECT ShipCity, Min(Freight) As MinOfFreight From Orders GROUP BY ShipCity; สามารถใช้คำสั่ง SQL ภายในชุดคำสั่ง Visual Basic ตัวอย่างเช่น procedure ต่อไปนี้เป็นการสร้าง dynaset แบบ Recordset ตามคำสั่ง SQL Sub MinFreight() Dim dbs As Database, rst as Recordset, strSQL As String Set dbs = CurrentDb strSQL = "SELECT ShipCity, Min(Freight) As MinOfFreight"_
rst.MoveLast End Sub การใช้ฟังก์ชัน Min และ Max ในการคำนวณตัว control ให้ตั้งค่าของคุณสมบัติ ControlSource ด้วย expression ของฟังก์ชัน Avg เช่น = Min([Freight]) ถ้าต้องการจำกัดค่าในการคำนวณสำหรับฟังก์ชัน Min หรือ Max ให้ตั้งค่าในการคัดเลือกข้อมูลที่คุณสมบัติ Filter ตัวอย่างตัวอย่างการหาค่าขนส่งสินค้าที่ต่ำที่สุดและสูงที่สุดในการส่งสินค้าไป UK โดยสมมติให้ EnumFields procedure เป็น procedure ในการพิมพ์ผลลัพธ์ Sub MinMaxX() Dim dbs As Database, rst As Recordset ' ต้องปรับปรุงคำสั่งนี้ให้มีพาร์ทของ Northwind ' ส่งค่าขนส่งที่ต่ำที่สุดและสูงที่สุดในการส่งสินค้าไป UK ' ย้าย Recordset ' เรียก EnumFields พิมพ์เนื้อหาของ Recordset โดยส่งผ่าน Recordset dbs.Close End Sub ตัวอย่างการประยุกต์ใน Accessการใช้ฟังก์ชัน Min และ Max ในการคำนวณค่าขนส่งต่ำสุดและสูงสุดที่ส่งไปยัง UK สามารถสร้าง expression ใน SQL view ของ Query Window SELECT Min([Freight]) AS [LowFreight] FROM Orders WHERE [ShipCountry] = 'UK'; SELECT Max([Freight]) AS [HighFreight] FROM Orders WHERE [ShipCountry] = 'UK'; การใช้ฟังก์ชัน Min และ Max ในการคำนวณค่าตัว control ของฟอร์มเพื่อหาค่าตามตัวอย่างข้างต้น ซึ่งใช้แหล่งข้อมูลจาก Table ชื่อ Orders เช่นเดียวกัน การประยุกต์ฟังก์ชัน Min และ Max ให้สร้างเป็น expression ในคุณสมบัติ ControlSource ของตัว control ในฟอร์ม และการคัดเลือกค่าฟิลด์ ShipCountry = UK ให้กำหนด expression ในคุณสมบัติ Filter ของฟอร์ม = Min([Freight])
|
||||