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

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

Somdir 14-11-11 11:46

שאלה | שאילתא
 
HTML קוד:

SELECT DISTINCT COUNT(ID) AS number, PageCode
FROM entries
WHERE PageType = 2
ORDER BY number DESC

למה זה מציג לי רק שורה אחת ?
אני רוצה להשיג את 10 הדפים הכי נצפים מסוג 2 (PageType)
השאילתא מחזירה לי רק שורה אחת וגם היא לא הדף הכי נצפה

אדיר 14-11-11 12:19

מה המטרה של ה- DISTINCT וה- COUNT כאן?

על פי השאילתה אני מניח שכל שורה מציינת דף ומס' הצפיות של אותו דף שמור בשדה number,
אז תשלוף את השדות שאתה צריך, תסנן שורות עם WHERE ותעשה ORDER BY number DESC בדיוק כמו שעשית - זה מספיק.

M.a.T.a.N 14-11-11 13:41

לא הבנתי בכלל מה עשית בקוד, הקוד צריך להיות משהו כמו
PHP קוד:

SELECT FROM entries WHERE PageType 2 ORDER BY number DESC LIMIT 0,10 


Somdir 14-11-11 15:13

המטרה שלי היא להגיע לדפים הכי נצפים מסוג דף 2 (pagetype) , ה-count נועד לספור את מספר ה-ID של הכניסות לדף מספר X
הטבלה בנויה כך :
ID
IP
TIME
PageType
PageCode

אני צריך לשלוף את הקוד דף של 10 דפים מסוג 2 שיש להם הכי הרבה צפיות (יותר שורות בטבלה)

השאילתא שרשמתי כאן דיי מאולתרת כי ניסיתי המון ניסוחים שונים ולא הצלחתי להגיע לתוצאה שאני צריך

IgalSt 14-11-11 15:29

אני אנחש ששדה ה-ID זה מזהה ייחודי של העמוד.
אני לא רואה באיזה שדה אתה שומר את כמות הצפיות שלך.

Somdir 14-11-11 17:51

הטבלה עצמה היא כמות הצפיות

Itay 14-11-11 21:18

שיטה די עקומה לספור צפיות לפי דעתי.. אבל זה צריך להיות ככה:
קוד:

SELECT COUNT(*) AS number, PageCode FROM entries WHERE PageType=2 GROUP BY ID ORDER BY number DESC

Somdir 14-11-11 22:31

a
ציטוט:

נכתב במקור על ידי Itay (פרסם 824919)
שיטה די עקומה לספור צפיות לפי דעתי.. אבל זה צריך להיות ככה:
קוד:

SELECT COUNT(*) AS number, PageCode FROM entries WHERE PageType=2 GROUP BY ID ORDER BY number DESC

מוזמן להציע דרך משלך אני פתוח לרעיונות שונים

IgalSt 14-11-11 22:56

ציטוט:

נכתב במקור על ידי Somdir (פרסם 824928)
a

מוזמן להציע דרך משלך אני פתוח לרעיונות שונים

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

מה שכן, צורת עבודה כזאת הכרחית במצבים בהם אתה רוצה לאגור גם מידע על הצפיה עצמה (כמו מה שאתה עושה: IP, תאריך ושעה וכו').

Somdir 15-11-11 07:47

ציטוט:

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

מה שכן, צורת עבודה כזאת הכרחית במצבים בהם אתה רוצה לאגור גם מידע על הצפיה עצמה (כמו מה שאתה עושה: IP, תאריך ושעה וכו').

לא רק לאגור מידע שכזה אלא גם לסנן כניסות זהות מאותו IP

והשאילתא של איתי לא עבדה כמו שרציתי


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

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