533
צפיות
צפיות
10
תשובות
תשובות
משהו אולי יודע איך אני יכול
לגזור בSQL רק את הX נתונים הראשונים מתוך תנאי?
כלומר אם המשפט SQL שלי עכשיו הוא כך
SELECT * FROM data WHERE price=66
ואני רוצה רק את ה10 פריטים הראשונים שמקיימים את התנאי, ולא את כל הפריטים שהתנאי נכון לגביהם.
תודה מראש למי שיודע……
10 תשובות
אם אתה משתמש ב MySQL…
אז בעזרת LIMIT… בקשר לאקסס ושאר המסדים אני לא יודע
לצערי אני משתמש באקסס…
גם ב-ASP אפשר (וכדאי, לדעתי) MySQL.
בכל מקרה אני יודע שבאקסס אפשר, אני בטוח שעוד יענו לך על זה
בכל מקרה אתה מוזמן לסייר במאמרים/שאלות ותשובות ואולי כבר תמצא את התשובה.
אני יודע לעשות את זה בASP, אבל
זה לא כלכך יעיל כי זה גוזר לזיכרון טבלה שלמה ואז ממנה מנפה…
לעומת זאת אם הניפוי הזה נעשה כבר בהתחלה ב SQL אז הטבלה הראשונית יותר תואמת לצרכים שלי וגם יותר קטנה..
כך:
SELECT TOP 10 <fields> FROM tbl
וואלה ניר אלוף אתה, ואיך אני
גוזר את ה10 הבאים? כלומר כמות מסויימת מהאמצע…?
כך
SELECT TOP 10 <fields>
FROM tbl
WHERE id NOT IN (SELECT TOP 10 id FROM tbl)
יש דרך לבדוק מספר שורות בטבלה, כלומר פונקציה שמחזירה אורך של טבלה מבלי לפתוח לה בזיכרון recordset?
לא
על מנת לקבל נתונים מהטבלה אתה חייב להשתמש ב- recordset. אין דרך "להתחמק" משימוש באובייקט זה..
אתה יכול לבדוק
מס' שורות בטבלה ע"י שאילתא עם הפונקציה COUNT
SELECT COUNT(<fldId>) AS cntRows FROM tbl
מאובייקט הרקורדסט אתה לא יכול להימנע