الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يوجد داله فى sql server مثل limit فى mysql؟

بدأه محمدهلال في 2 يناير 2011 · 7 رد · 1,320 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

هل يوجد داله فى sql server مثل limit فى mysql؟

اريد ان اقسم النتائج من الجدول عشان استخدمها فى تعدد الصفحات فل مش عارف اعمل تقسيم ازى بال sql server الى لقيتها داله top

عندى مثلا فى الجدول 1000 سجل واريد

يجيب من 100 الى 150 يعنى 50 سجل الى يجبهم فما هى طريقة عمل هذا؟

الاسم:محمدهلال

البلد:مصر

مبتدى بي اتش بي

#3
TareqVB كتب:

ابحث عن Paging

وهذه احدى النتائج

Efficient Paging

جزاك الله الف خير اخي الكريم

انا اقصد بدون استخدام الحرند فيو

الاسم:محمدهلال

البلد:مصر

مبتدى بي اتش بي

#6

يوجد طريقة غير مباشرة و لكن تحتاج منك بعض التفكير .. شخصيا استخدمتها كثيرا :

Set Rowcount 2
Select * From MyTable

Set Rowcount 0
Select * From MyTable

طبعا مع شوية Order By ..

.. لا تنسى طبعا أن هناك ما يسمى ب Top في عالمنا الجميل :)

بالتوفيق أخي الكريم

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#7

TOP لا تقوم مقام LIMIT

 [LIMIT {[offset,] row_count | row_count OFFSET offset}]

اي تجاوز عدد من الصفوف وثم ارجاع عدد محدد

بينما TOP ترجع عدد محدد من الصفوف .

في SQL 2011 يوجد بديل

Server Side Paging in SQL Server 2011 – A Better Alternative

تم تعديل هذه المشاركة بواسطة TareqVB في 12 أبريل 2011 في 15:11 — السبب: اضافة SQL 2011

#8

بس يا أخي طارق يمكن استخدام الـ Top لتحقيق المطلوب و لكن تحتاج إلى شوية تفكير .. أنا كنت بزماني مقتنع متلك إنو ما بتنحل بالـ Top.. بكل الأحوال كتبت عالسريع دالة لجرب فيها .. بس يمكن يكون بدها تعديلات لحتى تصير مثالية أكثر .. أي تعليق منكم مرحب به

Use tempdb
go

Create Table Test(id int identity, Name Nvarchar(50))
go

Insert Into Test Select 'Ahmad'
Insert Into Test Select 'Samer'
Insert Into Test Select 'Hany'
Insert Into Test Select 'Saad'
Insert Into Test Select 'Omar'
Insert Into Test Select 'Hala'
Insert Into Test Select 'Tala'
Insert Into Test Select 'Sameera'
Insert Into Test Select 'Huda'
Insert Into Test Select 'Ruba'
Insert Into Test Select 'Ameer'
Insert Into Test Select 'Sameer'

go

Create Proc Test_Select
	@Top int = 3,
	@section int = 0

AS

	-- without Top
	Select * From Test
	Where id between (@Top * @section) + 1 And @Top * ( 1 + @Section ) 

	-- With Top
	Select Top(@Top) * From Test 
		Where id > @Top * @section

GO


exec Test_Select @section = 0
exec Test_Select @section = 1
exec Test_Select @section = 2

تم تعديل هذه المشاركة بواسطة imadouzoun في 13 أبريل 2011 في 10:02

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

مواضيع مشابهة