ส่งกลับ ตัวแปร (สตริง) ที่ระบุตําแหน่งของตัวเลขที่เกิดขึ้นภายในชุดของช่วงจากการคํานวณ
ไวยากรณ์
พาร์ติชัน( number, start, stop, interval)
ไวยากรณ์ของฟังก์ชัน Partition มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
หมายเลข |
จำเป็น จํานวนเต็มที่คุณต้องการประเมินเทียบกับช่วง |
เริ่ม |
จำเป็น จํานวนเต็มที่เป็นจุดเริ่มต้นของช่วงโดยรวมของตัวเลข ตัวเลขต้องไม่น้อยกว่า 0 |
หยุด |
จำเป็น จํานวนเต็มที่เป็นจุดสิ้นสุดของช่วงทั้งหมดของตัวเลข ตัวเลขต้องไม่เท่ากับหรือน้อยกว่าจุดเริ่มต้น |
ช่วงเวลา |
จำเป็น จํานวนเต็มที่ระบุขนาดของพาร์ติชันภายในช่วงโดยรวมของตัวเลข (ระหว่างเริ่มต้นและด้านบน) |
ข้อสังเกต
ฟังก์ชัน Partition จะระบุช่วงเฉพาะที่ ตัวเลข อยู่และส่งกลับ ตัวแปร (สตริง) ที่อธิบายช่วงนั้น ฟังก์ชัน Partition มีประโยชน์มากที่สุดในการสอบถาม คุณสามารถสร้างคิวรีแบบใช้เลือกข้อมูลที่แสดงจํานวนคําสั่งซื้อที่อยู่ในช่วงต่างๆ ตัวอย่างเช่น ค่าคําสั่งซื้อตั้งแต่ 1 ถึง 1000, 1001 ถึง 2000 และอื่นๆ
ตารางต่อไปนี้แสดงวิธีการกําหนดช่วงโดยใช้อาร์กิวเมนต์ เริ่มต้นหยุด และ ช่วง สามชุด คอลัมน์ ช่วงแรก และ ช่วงสุดท้าย จะแสดงสิ่งที่ พาร์ติชัน ส่งกลับ ช่วงจะแสดงด้วย lowervalue:uppervalue ซึ่งค่าต่ําสุด (lowervalue) ของช่วงจะถูกแยกจากจุดสูงสุด (ค่าสูงสุด) ของช่วงที่มีเครื่องหมายจุดคู่ (:)
เริ่ม |
หยุด |
ช่วงเวลา |
ก่อนแรก |
ช่วงแรก |
ช่วงสุดท้าย |
หลังหลังสุด |
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 ก็ตาม
ถ้าจําเป็น พาร์ติชัน จะส่งกลับช่วงที่มีช่องว่างนําหน้าเพียงพอ เพื่อให้มีจํานวนอักขระทางด้านซ้ายและขวาของเครื่องหมายจุดคู่เท่ากัน เนื่องจากมีอักขระอยู่ใน จุดหยุด และเครื่องหมายบวกหนึ่งตัว สิ่งนี้ทําให้มั่นใจได้ว่าถ้าคุณใช้ พาร์ติชัน กับตัวเลขอื่นข้อความผลลัพธ์จะได้รับการจัดการอย่างถูกต้องในระหว่างการเรียงลําดับที่ตามมา
ถ้า interval เป็น 1 ช่วงจะเป็น number:number โดยไม่คํานึงถึงอาร์กิวเมนต์ start และ stop ตัวอย่างเช่น ถ้า interval เป็น 1 ตัวเลข คือ 100 และ stop เป็น 1000 พาร์ติชัน จะส่งกลับ "100: 100"
ถ้าส่วนใดส่วนหนึ่งเป็น Null พาร์ติชันจะส่งกลับ Null
ตัวอย่างคิวรี
Expression |
ผลลัพธ์ |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
สร้างชุดของช่วงสําหรับค่าในเขตข้อมูล "ราคาต่อหน่วย" จาก "start"(40) ถึง "stop"(240) ที่มีขนาด "interval"(20) เท่ากัน และคํานวณจํานวน "unitprice" ในช่วงที่เกี่ยวข้อง แสดงช่วงในคอลัมน์ PriceRange และจํานวนในคอลัมน์ 'Count' |
ตัวอย่าง VBA
ตัวอย่างนี้ถือว่าคุณมีตารางใบสั่งซื้อที่มีเขตข้อมูลค่าขนส่งสินค้า ซึ่งจะสร้างขั้นตอนการเลือกที่นับจํานวนการสั่งซื้อที่ค่าขนส่งสินค้าอยู่ในแต่ละช่วง ฟังก์ชัน พาร์ติชัน จะถูกใช้ก่อนเพื่อสร้างช่วงเหล่านี้ จากนั้นฟังก์ชันจํานวน SQL จะนับจํานวนคําสั่งซื้อในแต่ละช่วง ในตัวอย่างนี้ อาร์กิวเมนต์ของฟังก์ชัน Partition จะ เริ่มต้น = 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);