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

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

daMn 14-08-07 16:56

[SQL]מחפש דרך לבדוק מספר שורות מסוימות.
 
אז ככה אני מחפש דרך לבדוק מספר שורות של משהו מסוים.
דוגמא:
יש לי טבלה ובה הרבה שורות של תאריכים

14/08/2007
14/08/2007
14/08/2007
14/08/2007
15/08/2007
15/08/2007
16/08/2007
16/08/2007
16/08/2007
16/08/2007
16/08/2007

עכשיו אני צריך לדעת כמה שורות יש של יום אחד, זאת אומרת שהתוצאה שאני רוצה שתצא מטבלה הזאת הוא 3 ....

RS324 14-08-07 17:15

SELECT COUNT(rowid) AS total FROM table WHERE date='16/08/2007'

daMn 14-08-07 17:36

ציטוט:

נכתב במקור על ידי RS324 (פרסם 541578)
SELECT COUNT(rowid) AS total FROM table WHERE date='16/08/2007'

ואם אני לא יודע מה התאריך האחרון בטבלה?

BlueNosE 14-08-07 17:40

אז תשמור את זה בפורמט unix time ותעשה ORDER BY date DESC.

daMn 14-08-07 17:49

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 541602)
אז תשמור את זה בפורמט unix time ותעשה ORDER BY date DESC.

אם תוכל לעזור לי קצת עם הקוד אני אשמח, פשוט אני לא יודע מאיפה להתחיל...

RS324 14-08-07 18:31

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 541602)
אז תשמור את זה בפורמט unix time ותעשה ORDER BY date DESC.

מה הקשר ? הוא לא ביקש דווקא את התאריך האחרון
הוא ביקש כל תאריך נתון..

daMn 14-08-07 18:34

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

PHP קוד:

$sql mysql_query("SELECT * FROM `statistics`");
$num_rows mysql_num_rows($sql);
for (
$i=1;$i<$num_rows;$i++) {
$lastday   time() - (24 60 60*$i);
$yestarday date('d/m/Y'$lastday);
$dater mysql_query("SELECT * FROM `statistics` WHERE date='$yestarday'");
$dater_num mysql_num_rows($dater);
if (
$dater_num <> 0) {
$numer $numer+1; }



O-B 14-08-07 18:35

אני לא זוכר כל כך אבל יש פונקציה שמאחדת שורות ואתה יכול לאחד לפי התאריך ואז יצא לך את מספר השורות..

נראה לי שזה group.. תבדוק

BlueNosE 14-08-07 19:36

ציטוט:

נכתב במקור על ידי RS324 (פרסם 541623)
מה הקשר ? הוא לא ביקש דווקא את התאריך האחרון
הוא ביקש כל תאריך נתון..

ציטוט:

ואם אני לא יודע מה התאריך האחרון בטבלה?
הסקת מסקנות... |Rolleyes|

בניה 14-08-07 20:08

אני חושב שיהיה יותר יעיל לשמור את הערך של הפונקציה time() במקום לשמור מחרוזת של התאריך.

daMn 14-08-07 21:09

ציטוט:

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

זה תלוי מאוד מה הצורך.
יכול להיות שלמערכת מסוימת זה יהיה יותר מתאים/יעיל ומערכת אחרת לא.
אני צריך את זה בפורמט תאריך.

בניה 14-08-07 21:16

ציטוט:

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

את הפורמט אתה יכול ליצור עם הפוקציה date בPHP.

4ior 14-08-07 22:00

ציטוט:

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

PHP קוד:

$sql mysql_query("SELECT * FROM `statistics`");
$num_rows mysql_num_rows($sql);
for (
$i=1;$i<$num_rows;$i++) {
$lastday   time() - (24 60 60*$i);
$yestarday date('d/m/Y'$lastday);
$dater mysql_query("SELECT * FROM `statistics` WHERE date='$yestarday'");
$dater_num mysql_num_rows($dater);
if (
$dater_num <> 0) {
$numer $numer+1; }



אם הבנתי אותך נכון זה מה שאתה צריך:
PHP קוד:

$result=mysql_query("SELECT COUNT(date) as num,date FROM statistics GROUP BY date");
while(
$row=mysql_fetch_assoc($result)){
echo 
$row['date'].": ".$row['num'];


זה מדפיס לך את התאריך וליד זה את מספר התוצאות של השם הזה...
בקיצור ה$numer בקוד שלך שווה ל$row['num'] בקוד שלי...

O-B 14-08-07 23:05

ציטוט:

נכתב במקור על ידי 4ior (פרסם 541751)
אם הבנתי אותך נכון זה מה שאתה צריך:
PHP קוד:

$result=mysql_query("SELECT COUNT(date) as num,date FROM statistics GROUP BY date");
while(
$row=mysql_fetch_assoc($result)){
echo 
$row['date'].": ".$row['num'];


זה מדפיס לך את התאריך וליד זה את מספר התוצאות של השם הזה...
בקיצור ה$numer בקוד שלך שווה ל$row['num'] בקוד שלי...

לזה התכוונתי.. צדקתי :). זה היה group


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

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