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

كيف يمكن Select Top؟

مغلق
بدأه jrahma في 3 أغسطس 2006 · 3 رد · 541 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لماذا أحصل على خطا عندما أجرب Select Top كالآتي:

$biiling_sql = "SELECT TOP 10 start_date_time FROM billing WHERE account_id = 105 ORDER BY start_date_time desc";

والخطأ هو:

اقتباس
Warning: pg_exec(): Query failed: ERROR: syntax error at or near "10" at character 12 in /var/www/jassim.tmp.2connectbahrain.com/www/my2connect.php on line 95

Warning: Cannot modify header information - headers already sent by (output started at /var/www/jassim.tmp.2connectbahrain.com/www/my2connect.php:27) in /var/www/jassim.tmp.2connectbahrain.com/www/my2connect.php on line 99

Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /var/www/jassim.tmp.2connectbahrain.com/www/my2connect.php on line 102

#2
jrahma كتب:
لماذا أحصل على خطا عندما أجرب Select Top كالآتي:

$biiling_sql = "SELECT TOP 10 start_date_time FROM billing WHERE account_id = 105 ORDER BY start_date_time desc";

السلام عليكم و رحمة الله و بركاته

أخوي jrhma

قرأت الStatement لأكثر من 10 مرات انه يكون مارر علي مثله لكن للأسف ما مر علي هذه الطريقة لكن في حل آخر

انت بدك تحدد آخر 10 سجلات تبدأ من account_id=105

$biiling_sql =mysql_query("SELECT * FROM billing WHERE account_id = 105 ORDER BY start_date_time DESC LIMIT 10");

إن شاء الله انه يزبط معاك

تحياتي و تقديري

أخوك سامي

#3

اخي الفاضل :

تختلف الصيغ من قاعدة بينات لأاخرى . الطريقة التي كتبت بها الإستعلام هي من صيغ قاعدة البيانات MS Sql Server وليست My Sql :

القاعدة Ms Sel Server تيتخدم الـ Top فيها للإرجاع عدد السجلات المراد الحصول عليها :

لعمل نفس هذه الفكرة في قاعدة البينات My Sql بدل الكلمة Top تستخدم العبارة LIMIT وهي التي تحدد كم عدد الحقول التي تود إرجاعها . وهي اكثر مرونه من قواعد البيانات الأخرى .

SELECT * FROM billing WHERE account_id = 105 ORDER BY start_date_time DESC LIMIT 0,9

limit لها بداية و نهاية . وهي في حالتنا تعيد من السجل الأول إلى السجل رقم عشرة . إذا اردت أن تعيد من الموقع 5 إلى الموقع 10 . سوف تعيد لك ذلك ولكن مع تغير الترتيب بحيت تبدأ Limi بالبداية بعد كذا الفاصلة بعد ذلك النهاية .

بالتوفيق

(h)

#4

أنا أستخدم PostrgeSQL

هذا الموضوع مغلق.

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