שלח תשובה

זירת השאלות

185
צפיות
23
תשובות

איך אני שולף רק רשומות..

,‏ 29 בספטמבר, 2004

יש לי שדה תאריך בטבלה.
אני רוצה לשלוף את הרשומות שהתווספו בשבוע הזה בלבד.
הבעיה שלי היא,
שאני בעצם שולף את הרשומות שהתווספו בשבע ימים האחרונים, ולא בשבוע הזה (יום ראשון עד שבת).
איך אני יכול לבדוק באיזה תאריך התחיל השבוע(יום ראשון), ובאיזה תאריך הוא יסתיים (יום שבת).

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

תגיות:

23 תשובות

  1. Night הגיב:

    דוגמא
    למשל היום יום רביעי,
    אני רוצה לשלוף את הרשומות שהתווספו מיום ראשון עד היום,
    ולא את הרשומות של השבע ימים האחרונים (רביעי שעבר עד היום).

  2. Night הגיב:

    עוד שאלה..
    איך אני שולף רשומות שבעמודה מסויימת לא יהיה אותו ערך יותר מפעם אחת (DISTINCT)
    אבל שזה גם יגיד לי כמה פעמים אותו ערך מופיע באותה עמודה, בתוצאות השאילתה שמוחזרות לפי התנאים(WHERE) שאני נותן לו.

    מקווה שתצליחו להבין קצת קשה להסביר.. :-/

    תודה

  3. BuildHome הגיב:

    אתה יכול
    אם הבנתי אותך נכון, למשל יש לך חמישה פעמים ערך מסוים ובעזרת DISTINCT זה ישלוף רק אחד אך אתה מעוניין לדעת כמה פעמים יש את אותו הערך במסד?

    במידה וכן, אתה יכול לשלוף את הנתונים בעזרת DISTINCT ופעם אחת ללא ולהשוות ביניהם.

  4. Night הגיב:

    הבנת נכון אבל..
    שאני אשלוף ללא הDISTINCT, איך אני בעצם אדע כמה פעמים זה מופיע שם?

  5. BuildHome הגיב:

    כמו שכתבתי
    תעשה השוואה בין מה ששלפת עם DISTINCT ובין מה ששלפת עם שאילתה רגילה.
    אתה יכול לשים כל שליפה במערך או להשתמש ב-SPLIT על מנת לפצל וכך בעצם תוכל להשוות.

    יש לך ערך מסוים וקבוע שאתה מעוניין לבדוק?

  6. Night הגיב:

    איך אני עושה את ההשוואה?
    הערך שלי לא קבוע..

    איך השוואה בין תוצאות השאילתות תיתן לי את מספר הפעמים שזה מופיע?

    אני לא מצליח להבין..

  7. BuildHome הגיב:

    תציג דוגמא
    של פלט שישלף עם שאילתה פשוטה ואחד עם DISTINCT.

  8. Night הגיב:

    …..
    אני רוצה להבהיר שאותו הערך נקלח גם מהמסד, וזה בעצם לא ערך אלה ערכים.
    אני צריך לדעת כמה פעמים כל אחד מעשרת הערכים שלי נניח, נמצאים בתוצאות השאילתה.
    אני יתן את הטבלה ככה זה יהיה ברור יותר:
    הטבלה כוללת את העמודה url. (יש עוד עמודות שלא רלוונטיות כרגע)
    העמודה url מציינת כתובת של אתר מסויים.
    כל קישור יכול להופיע כרשומה יותר מפעם אחת (מהסיבות שלי..)
    רשומה 1:

    url: http://www.walla.co.il

    רשומה 2:

    url: http://www.nana.co.il

    רשומה 3:

    url: http://www.webmaster.org.il

    רשומה 4:

    url: http://www.webmaster.org.il

    רשומה 5:

    url: http://www.webmaster.org.il

    אני רוצה להציג בטבלה את הלינקים שיש לי בטבלה (בלי שהם יחזרו על עצמם יותר מפעם אחת[distinct]), ואת מספר הפעמים שכל לינק מופיע.
    הטבלה שאני רוצה להציג צריכה להיראות כך:

    http://www.walla.co.il  |  1
    http://www.nana.co.il  |  1
    http://www.webmaster.org.il  |  3

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

    נסה את זה בבקשה…

    SELECT DISTINCT fld, Count(fld) FROM tbl GROUP BY fld

  10. Night הגיב:

    ועוד הערה:
    אני רוצה להבהיר שבטבלה שלי יהיו עשרות או מאות קישורים שונים, לכן זה לא פיתרון לשלוף את הרשומות שהערך בשדה URL שלהם הוא לינק מסויים ואז לבדוק כמה רשומות הוחזרו, כי אני אצטרך לחזור על זה המון פעמים עם ערכים שונים בכל פעם.

  11. Night הגיב:

    תודה אבל..
    איך אני ניגש לתוצאות השאילתה?


    rs("fld")

    תודה..

  12. Night הגיב:

    הצלחתי! תודה רבה לשניכם!
    תודה!

  13. זהר פלד הגיב:

    DISTINCT מיותר במקרה הזה.
    ה GROUP BY כבר דואג לזה שתהיה רק רשומה אחת מכל ערך.

  14. Night הגיב:

    משפט on error בצד שרת?
    זה אפשרי?
    אני כותב ככה:


    on error goto bla

    זה נותן לי שגיאה:


    Syntax error

    on error goto err
    ————–^

    מה הבעיה?

  15. BuildHome הגיב:

    טעות
    אם כבר אז
    On Error GoTo 0

    כתוב את זה למעלה בעמוד:
    On Error Resume Next
    ואז פשוט בעמוד שלך תכתוב משפט תנאי כזה:
    If Err Then Response.Redirect "Error.asp"

  16. Night הגיב:

    רוצה לשלוף..
    רשומות לפי השבוע בו נכתבו.
    שבוע=ראשון עד שבת ולא סתם 7 ימים כמו למשל שלישי עד שלישי הבא.
    אז ככה בחודש יש 30/31 יום בדר"כ.
    אני צריך פונקציה שתחזיר לי את טווח התאריכים של כל שבוע באותו החודש.
    ושתדע לעשות שאם נגיד ה31 נגמר ביום חמישי, אז הטווח האחרון שהיא תחזיר לי יהיה ראשון עד חמישי, ולא עד שבת כי אחרי אותו חמישי זה חודש חדש.

    מקווה שזה מובן, אם לא תגידו…

    תודה לכולם.

  17. Night הגיב:

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

    תודה..

  18. BuildHome הגיב:

    תן לי להבין
    אתה רוצה להציג את הימים שבאותו השבוע לפני ואחרי היום הנוכחי (כולל)?
    לדוגמא:
    ראשון    שני    שלישי    רביעי    חמישי    שישי    שבת
    היום המודגש הוא בעצם היום וזה אמור להציג את הימים שלפניו (יש רק ראשון) ואחריו (שלישי-שבת) באותו השבוע.

    לזה אתה מתכוון?

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!