שלח תשובה

זירת השאלות

533
צפיות
10
תשובות

משהו אולי יודע איך אני יכול

,‏ 11 ביולי, 2004

לגזור בSQL רק את הX נתונים הראשונים מתוך תנאי?

כלומר אם המשפט SQL שלי עכשיו הוא כך
SELECT * FROM data WHERE price=66
ואני רוצה רק את ה10 פריטים הראשונים שמקיימים את התנאי, ולא את כל הפריטים שהתנאי נכון לגביהם.

תודה מראש למי שיודע……

תגיות:

10 תשובות

  1. רום הגיב:

    אם אתה משתמש ב MySQL…
    אז בעזרת LIMIT… בקשר לאקסס ושאר המסדים אני לא יודע

  2. רום הגיב:

    גם ב-ASP אפשר (וכדאי, לדעתי) MySQL.
    בכל מקרה אני יודע שבאקסס אפשר, אני בטוח שעוד יענו לך על זה

    בכל מקרה אתה מוזמן לסייר במאמרים/שאלות ותשובות ואולי כבר תמצא את התשובה.

  3. בוב הגיב:

    אני יודע לעשות את זה בASP, אבל
    זה לא כלכך יעיל כי זה גוזר לזיכרון טבלה שלמה ואז ממנה מנפה…
    לעומת זאת אם הניפוי הזה נעשה כבר בהתחלה ב SQL אז הטבלה הראשונית יותר תואמת לצרכים שלי וגם יותר קטנה..

  4. בוב הגיב:

    וואלה ניר אלוף אתה, ואיך אני
    גוזר את ה10 הבאים? כלומר כמות מסויימת מהאמצע…?

  5. ניר טייב הגיב:

    כך


    SELECT TOP 10 <fields>
    FROM tbl
    WHERE id NOT IN (SELECT TOP 10 id FROM tbl)

  6. בוב הגיב:

    סבבה, ותודה. עוד שאלה…
    יש דרך לבדוק מספר שורות בטבלה, כלומר פונקציה שמחזירה אורך של טבלה מבלי לפתוח לה בזיכרון recordset?

  7. לא
    על מנת לקבל נתונים מהטבלה אתה חייב להשתמש ב- recordset. אין דרך "להתחמק" משימוש באובייקט זה..

  8. ניר טייב הגיב:

    אתה יכול לבדוק
    מס' שורות בטבלה ע"י שאילתא עם הפונקציה COUNT

    SELECT COUNT(<fldId>) AS cntRows FROM tbl

    מאובייקט הרקורדסט אתה לא יכול להימנע

שלח תשובה