تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

إرجاع متغير (سلسلة) يشير إلى مكان حدوث رقم ضمن سلسلة محسوبة من النطاقات.

بناء الجملة

Partition( number, start, stop, interval)

يحتوي بناء جملة دالة القسم على هذه الوسيطات:

الوسيطة

الوصف

number

مطلوبة. العدد الكامل الذي تريد تقييمه مقابل النطاقات.

بدء

مطلوبة. العدد الكامل الذي يمثل بداية النطاق الإجمالي للأرقام. لا يمكن أن يكون الرقم أقل من 0.

إيقاف

مطلوبة. العدد الكامل الذي يمثل نهاية النطاق الإجمالي للأرقام. لا يمكن أن يكون الرقم مساويا أو أقل من تاريخ البدء.

فاصل

مطلوبة. العدد الكامل الذي يحدد حجم الأقسام ضمن النطاق الإجمالي للأرقام (بين البدءوالأعلى).

ملاحظات

تحدد الدالة Partition النطاق المحدد الذي يقع فيه الرقم وترجع متغيرا (سلسلة) يصف هذا النطاق. الدالة Partition هي الأكثر فائدة في الاستعلامات. يمكنك إنشاء استعلام تحديد يوضح عدد الطلبات التي تقع ضمن نطاقات مختلفة، على سبيل المثال، قيم الطلبات من 1 إلى 1000 و1001 إلى 2000 وما إلى ذلك.

يوضح الجدول التالي كيفية تحديد النطاقات باستخدام ثلاث مجموعات من وسيطات البدءوالإيقافوالفاصل الزمني . تعرض أعمدة النطاق الأول والنطاق الأخير ما يرجعه القسم . يتم تمثيل النطاقات بواسطة 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 مع أرقام أخرى، فسيتم التعامل مع النص الناتج بشكل صحيح أثناء أي عملية فرز لاحقة.

إذا كان الفاصل الزمني هو 1، فإن النطاق هو number:number، بغض النظر عن وسيطات البدءوالإيقاف . على سبيل المثال، إذا كان الفاصل الزمني هو 1، فإن الرقم هو 100 والإيقاف هو 1000، ويرجع القسم " 100: 100".

إذا كان أي من الأجزاء فارغا، يقوم القسم بإرجاع Null.

أمثلة الاستعلام

تعبير

النتائج

SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20);

إنشاء مجموعة من النطاقات للقيم في الحقل "unitprice" من "start" (40) إلى "stop" (240) بحجم "interval" (20) متساوي وحساب عدد "unitprice" في النطاقات المعنية. عرض النطاقات في العمود PriceRange والعد في العمود 'Count'.

مثال VBA

يفترض هذا المثال أن لديك جدول طلبات يحتوي على حقل الشحن. يقوم بإنشاء إجراء تحديد يحسب عدد الطلبات التي تقع تكلفة الشحن لها في كل نطاق من عدة نطاقات. يتم استخدام دالة Partition أولا لإنشاء هذه النطاقات، ثم تحسب الدالة SQL Count عدد الطلبات في كل نطاق. في هذا المثال، تبدأ الوسيطات إلى الدالة Partition = 0، stop = 500، الفاصل الزمني = 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);

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×