ส่งกลับตัว แปร (สตริง) ที่ระบุตําแหน่งที่ตัวเลขเกิดขึ้นภายในชุดข้อมูลของช่วงที่คํานวณ
ไวยากรณ์
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);