הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאילתה מסויימת... (https://hosts.co.il/forums/showthread.php?t=62171)

Oribest 21-04-08 14:35

שאילתה מסויימת...
 
שלום לכולם,
חג שמח (: .
אז ככה חברים
יש לי טבלה שמכילה מספרים
לכל מספר יש את התוכן שלו ואת המספר סידורי שלו (ID)
אני רוצה להריץ שאילתה שתציג לי את כל המספרים לפי הגודל
אבל שתדלג על המספר הגדול ביותר
כי אותו אני רוצה להדגיש...
איך אני עושה את זה ?
תודה לעוזרים !

Inet 21-04-08 14:48

תבדוק כמה שורות יש בסה"כ בעזרת mysql_num_rows
ואז: X -> סה"כ השורות מינוס אחד

select * from table order by id LIMIT x

ואז כולם יוצגו חוץ מהאחרון שהוא בעל ה ID הגדול ביותר (במידה והתכוונת המספר הגדול ביותר ולא ה ID הגדול ביותר פשוט שנה את ה ID ל שם הטור (number לדוגמא)

Kfir.G 21-04-08 15:21

ציטוט:

נכתב במקור על ידי Inet (פרסם 626246)
תבדוק כמה שורות יש בסה"כ בעזרת mysql_num_rows
ואז: X -> סה"כ השורות מינוס אחד

select * from table order by id LIMIT x

ואז כולם יוצגו חוץ מהאחרון שהוא בעל ה ID הגדול ביותר (במידה והתכוונת המספר הגדול ביותר ולא ה ID הגדול ביותר פשוט שנה את ה ID ל שם הטור (number לדוגמא)

הרבה יותר הגיוני לעשות את זה עם count... אין טעם לשלוף את כל המידע רק בשביל לבדוק כמה שורות יש. אני גם לא בטוח בזה ב100% אבל לדעתי sub select יותר יעיל משני select נפרדים לכן אני הייתי עושה את זה ככה


select * from `table_name` order by `id` limit (select count(*) from `table_name`)-1

לפותח האשכול במידה ואתה התכוונת לגדול ביותר לא לפי הid פשוט תחליף את הorder by לטור שאתה צריך

Oribest 21-04-08 15:46

ציטוט:

נכתב במקור על ידי Kfir.G | WebPower.co.il (פרסם 626260)
הרבה יותר הגיוני לעשות את זה עם count... אין טעם לשלוף את כל המידע רק בשביל לבדוק כמה שורות יש. אני גם לא בטוח בזה ב100% אבל לדעתי sub select יותר יעיל משני select נפרדים לכן אני הייתי עושה את זה ככה


select * from `table_name` order by `id` limit (select count(*) from `table_name`)-1

לפותח האשכול במידה ואתה התכוונת לגדול ביותר לא לפי הid פשוט תחליף את הorder by לטור שאתה צריך

לא עובד לי מה שרשמת אחי, ניסיתי לעבוד לפי זה.. לא עובד לי.
ציטוט:

נכתב במקור על ידי Inet (פרסם 626246)
תבדוק כמה שורות יש בסה"כ בעזרת mysql_num_rows
ואז: X -> סה"כ השורות מינוס אחד

select * from table order by id LIMIT x

ואז כולם יוצגו חוץ מהאחרון שהוא בעל ה ID הגדול ביותר (במידה והתכוונת המספר הגדול ביותר ולא ה ID הגדול ביותר פשוט שנה את ה ID ל שם הטור (number לדוגמא)

עשיתי כמו שאתה אמרת,
אבל עדיין,
הבעיה שלי היא להציג את זה מהגדול לקטן... מבין?
כאילו אם בטבלה שלי יש את המספרים

5
10
15
28
200
63
67
68
69
100
שזה יציג לי ככה :
200 - אותו הוא לא יציג .

100
69
68
67
63
28
15
10
5

תודה לעוזרים (:.



אהה הינה הצלחתי חח =]
SELECT *
FROM `table_name`
ORDER BY `table_name`.`id` DESC
LIMIT 1 , 4

תודה רבה לכל מי שעזר באשכול !!
אוהב אותכם!


כל הזמנים הם GMT +2. הזמן כעת הוא 22:23.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ