הרשם שאלות ותשובות רשימת חברים לוח שנה חיפוש הודעות מהיום סמן פורומים כנקראו

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 08-11-08, 03:47   # 1
S-Preso
חבר מתקדם
 
S-Preso's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
גיל: 35
הודעות: 689

S-Preso לא מחובר  

sql - שליפת כל השורות חוץ מ-ה2 אחרונות...

היי חברה,

אשמח לעזרה בקשר לשליפת כל השורות בטבלה חוץ מ-ה2 האחרונות שהוספתי.

לדוגמא הכנסתי 4 שורות:

1 - X
2 - Y
3 - Z
4 - B

אז אני מעוניין שזה יציג רק את X,Y.

מקווה שהבנתם,
תודה ושבת שלום
  Reply With Quote
ישן 08-11-08, 06:35   # 2
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

בשאליתה ראשונה - סופר את כל השורות שבטבלה,שאליתה שניה - משתמש ב-limit על פי מספר השורות שיצאו-2, דוגמא:
PHP קוד:
<?php

      mysql_query
("select `column`  from `table_name`");
      
$rows mysql_num_rows($query);
      
mysql_query("select `column` from `table_name` LIMIT 0,$rows-2");
?>
ואת השאליתה השניה אתה מדפיס, בהצלחה.
__________________
Projector Lamps
  Reply With Quote
ישן 08-11-08, 13:19   # 3
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

בהנחה שיש לך מיליון שורות, LIMIT הרבה הרבה הרבה הרבה פחות יעיל אם לכל תא יש ID עם AUTO INCREMENT
תנסה את השאילתא הבאה
SELECT COUNT(*) AS `minustwo`
FROM `search`
WHERE `id` < $total - 2

או שאולי זה ירוץ לך (לא נגעתי בSUBQUERIES הרבה זמן אז אין לי ערבות):
SELECT COUNT(*) AS `minustwo`
FROM `search`
WHERE `id` < ((SELECT COUNT(*) FROM `search`) - 2)
__________________
  Reply With Quote
ישן 08-11-08, 17:00   # 4
S-Preso
חבר מתקדם
 
S-Preso's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
גיל: 35
הודעות: 689

S-Preso לא מחובר  

קודם, תודה רבה, לשניכם...(אף קוד לא עבד לי)

ציטוט:
נכתב במקור על ידי Shon12 צפה בהודעה
בשאליתה ראשונה - סופר את כל השורות שבטבלה,שאליתה שניה - משתמש ב-limit על פי מספר השורות שיצאו-2, דוגמא:
PHP קוד:
<?php

      mysql_query
("select `column`  from `table_name`");
      
$rows mysql_num_rows($query);
      
mysql_query("select `column` from `table_name` LIMIT 0,$rows-2");
?>
ואת השאליתה השניה אתה מדפיס, בהצלחה.

זה לא חוקי לעשות "LIMIT 0,$rows-2" לפי איך שאני יודע...

ציטוט:
נכתב במקור על ידי nitsanbn צפה בהודעה
בהנחה שיש לך מיליון שורות, LIMIT הרבה הרבה הרבה הרבה פחות יעיל אם לכל תא יש ID עם AUTO INCREMENT
תנסה את השאילתא הבאה
SELECT COUNT(*) AS `minustwo`
FROM `search`
WHERE `id` < $total - 2

או שאולי זה ירוץ לך (לא נגעתי בSUBQUERIES הרבה זמן אז אין לי ערבות):
SELECT COUNT(*) AS `minustwo`
FROM `search`
WHERE `id` < ((SELECT COUNT(*) FROM `search`) - 2)
לא עובד...

עוד שאלה:

עשיתי הצגה של 2 שורות מהמסד, כאשר השליפה ע"פ status ברגע ש status = 1 אז זה מציג אותם,
וברגע שיש מעל 2 ש status = 1 אז אני מעוניין שid הכי גבוהה ישתנה לו ה status = 0.

ככה שבסופו של דבר בכל השורות יכול להיות מצב שיהיו רק 2 status ששוים ל1.

מקווה שהבנתם, אני יודע שהסברתי את זה מסובך קצת...

Last edited by S-Preso; 08-11-08 at 17:33..
  Reply With Quote
ישן 08-11-08, 17:18   # 5
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

http://www.w3schools.com/sql/sql_func_max.asp ?
__________________
Projector Lamps
  Reply With Quote
ישן 08-11-08, 17:35   # 6
S-Preso
חבר מתקדם
 
S-Preso's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
גיל: 35
הודעות: 689

S-Preso לא מחובר  

ציטוט:
נכתב במקור על ידי Shon12 צפה בהודעה
לא הבנתי איך זה קשור?
  Reply With Quote
ישן 08-11-08, 18:33   # 7
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

זה בסדר להכניס פקודה חיסור בתוך שאילתה. אבל זה יהווה בעיה כשהערך $total יהיה שווה ל2 או פחות .
  Reply With Quote
ישן 08-11-08, 18:49   # 8
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

אני לא מוצא סיבה שלהכניס פקודת חיסור לא תיהיה חוקית...
נסה את הקוד הבא(היה טעות בקוד הקודם):
PHP קוד:
<?php 

      $query 
mysql_query("select `column` from `table_name`"); 
      
$rows mysql_num_rows($query);
      
$res $rows-2;
      
mysql_query("select `column` from `table_name` LIMIT 0,$res");
?>
עוד דרך נחמדה בהנחה שהמספרים יהיו חד-ספרתיים קבוע - לספור את מספר המספרים(strlen) ולהוריד מהם 2 (substr).
בנוגע לבעיה של וואדים, אפשר לעשות תנאי שאם השורות קטנות מ-2 הקוד פשוט לא יתבצע,אוו abs(),אוו בודק אם יש תוצאה(mysql_result).
__________________
Projector Lamps

Last edited by Shon12; 08-11-08 at 18:59..
  Reply With Quote
ישן 08-11-08, 19:02   # 9
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 37
הודעות: 710

vadimg88 לא מחובר  

כן זאת הכוונה ובקוד למעלה אין בדיקה כזאת אז הקוד למעלה ישבר במידה והערך יהיה שווה ל 2 או פחות. עוד דבר לדבר פשוט כזה אפשר למנוע משימוש בפונקציות שציינת. כל אחת מהם תקח זמן מאשר פעולה פשוטה של חיסור או בדיקת הערך .
  Reply With Quote
ישן 08-11-08, 19:12   # 10
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

ציטוט:
נכתב במקור על ידי vadimg88 צפה בהודעה
פעולה פשוטה של חיסור או בדיקת הערך .
ציטוט:
נכתב במקור על ידי Shon12 צפה בהודעה
בנוגע לבעיה של וואדים, אפשר לעשות תנאי שאם השורות קטנות מ-2הקוד פשוט לא יתבצע
-אני יודע שבקוד שלמעלה אין מאחת הבדיקות האלו, אני נתתי רעיונות - שהוא יממש אותם.
__________________
Projector Lamps
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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