ฟังก์ชัน Partition

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

ส่งกลับตัว แปร (สตริง) ที่ระบุตําแหน่งที่ตัวเลขเกิดขึ้นภายในชุดข้อมูลของช่วงที่คํานวณ

ไวยากรณ์

Partition(number, start, stop, interval)

ไวยากรณ์ของฟังก์ชัน Partition มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ คำอธิบาย
ตัวเลข จำเป็น จํานวนเต็มที่คุณต้องการประเมินเทียบกับช่วง
เริ่มต้น จำเป็น จํานวนเต็ม ที่เป็นจุดเริ่มต้นของช่วงตัวเลขทั้งหมด ตัวเลขต้องไม่น้อยกว่า 0
หยุด จำเป็น จํานวนเต็ม นั่นคือจุดสิ้นสุดของช่วงตัวเลขทั้งหมด ตัวเลขต้องไม่เท่ากับหรือน้อยกว่า start
ช่วงเวลา จำเป็น จํานวนเต็มที่ระบุขนาดของพาร์ติชันภายในช่วงตัวเลขโดยรวม (ระหว่างเริ่มต้นและหยุด)

ข้อสังเกต

ฟังก์ชัน Partition จะระบุช่วงเฉพาะที่มี ตัวเลข อยู่ และส่งกลับตัว แปร (สตริง) ที่อธิบายช่วงนั้น ฟังก์ชัน Partition มีประโยชน์มากที่สุดในคิวรี คุณสามารถสร้างคิวรีแบบใช้เลือกข้อมูลที่แสดงจํานวนคําสั่งซื้อที่อยู่ในช่วงต่างๆ ตัวอย่างเช่น ค่าคําสั่งซื้อตั้งแต่ 1 ถึง 1000, 1001 ถึง 2000 และอื่นๆ

ตารางต่อไปนี้แสดงวิธีการกําหนดช่วงโดยใช้อาร์กิวเมนต์สามชุดของเริ่มต้นหยุด และช่วงเวลา คอลัมน์ช่วงแรกและช่วงสุดท้ายจะแสดงสิ่งที่ พาร์ติชัน ส่งคืน ช่วงจะแสดงด้วย lowervalue:uppervalue โดยที่จุดต่ําสุด (lowervalue) ของช่วงจะถูกแยกจากจุดสูงสุด (uppervalue) ของช่วงด้วยเครื่องหมายจุดคู่ (:)

เริ่มต้น หยุด ช่วงเวลา ก่อนก่อน ช่วงแรก ช่วงสุดท้าย หลังจาก สุดท้าย
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

ในตารางที่แสดงด้านบน บรรทัดที่สามจะแสดงผลลัพธ์เมื่อ เริ่มต้น และ หยุดกําหนด ชุดตัวเลขที่ไม่สามารถหารด้วย ช่วงเท่าๆ กันได้ ช่วงสุดท้ายขยายไปที่ จุดหยุด (11 ตัวเลข) แม้ว่า ช่วงจะเป็น 20 ก็ตาม

ถ้าจําเป็น Partition จะ ส่งกลับช่วงที่มีช่องว่างนําหน้าเพียงพอเพื่อให้มีจํานวนอักขระทางด้านซ้ายและด้านขวาของเครื่องหมายจุดคู่เท่ากับจํานวนอักขระใน stop บวกหนึ่งตัว สิ่งนี้ทําให้มั่นใจได้ว่าถ้าคุณใช้ พาร์ติชัน กับหมายเลขอื่น ข้อความผลลัพธ์จะถูกจัดการอย่างถูกต้องระหว่างการดําเนินการเรียงลําดับที่ตามมา

ถ้าช่วงเป็น 1 ช่วงจะเป็น number:number โดยไม่คํานึงถึงอาร์กิวเมนต์เริ่มต้นและหยุด ตัวอย่างเช่น ถ้า interval เป็น 1 ตัวเลขคือ 100 และ stop คือ 1000 พาร์ติชันจะ ส่งกลับ " 100: 100"

ถ้าส่วนใดส่วนหนึ่งเป็น Null พาร์ติชันจะส่งกลับค่า Null

ตัวอย่างคิวรี

นิพจน์ ผลลัพธ์
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); สร้างชุดของช่วงสําหรับค่าในเขตข้อมูล "ราคาต่อหน่วย" จาก "เริ่มต้น"(40) ถึง "หยุด"(240) ที่มีขนาด "ช่วง"(20) เท่ากัน และคํานวณจํานวนของ "ราคาต่อหน่วย" ในช่วงที่เกี่ยวข้อง แสดงช่วงในคอลัมน์ PriceRange และจํานวนในคอลัมน์ 'นับ'

ตัวอย่าง VBA

ตัวอย่างนี้จะถือว่าคุณมีตารางใบสั่งซื้อที่มีเขตข้อมูลค่าขนส่งสินค้า ซึ่งจะสร้างกระบวนงานการเลือกที่นับจํานวนคําสั่งซื้อที่ค่าขนส่งตกอยู่ในแต่ละช่วงของหลายช่วง ฟังก์ชัน Partition จะถูกใช้ก่อนเพื่อสร้างช่วงเหล่านี้ จากนั้นฟังก์ชัน SQL Count จะนับจํานวนการสั่งซื้อในแต่ละช่วง ในตัวอย่างนี้ อาร์กิวเมนต์ของฟังก์ชัน Partition คือ start = 0, stop = 500, interval = 50 ช่วงแรกจึงเป็น 0:49 และต่อไปจนถึง 500

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);