Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[MySQL 4.1] SELECT holt nicht alle Daten [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[MySQL 4.1] SELECT holt nicht alle Daten


 
prego
25-07-2005, 13:09 
 
Hi,

ich steh hier gerade vor einem Problem.

Ich habe eine Statistik Datenbank wo pro Click ein Eintrag erzeugt wird. Nun, da die Datenbank langsam wächst (1,7Mil Datensätze) will ich alle Eintrag bis gestern kompriemieren - also in einer zweiten Tabelle ablegen.
Dort wird dann Pro Datum und Pro URL-ID ein Eintrag erzeugt. Also url_id:datum:click_anzahl.

Alles im großen und ganzen kein Problem. Das dumme ist nur, das meine Query - die die Daten aus der "großen" Tabelle selected - nicht alle meine Datensätze ausspuckt. Nämlich im jetzigen Fall nur bis zum 20.7.2005
Es sind aber definitiv Daten bis inkl. heute (25.7.2005) vorhanden.

Die Query sieht so aus:

$str = "SELECT count(url_id) AS click_count, DATE_FORMAT(redirect_date, '%Y-%m-%d') AS redirect_date,
redirect_url_id FROM redirect_stat WHERE
to_days(redirect_date) < to_days(now()) GROUP BY url_id";


Jetz wo ich es schreibe fällt mir der Fehler auf. Ich bekomme pro URL-ID nur einen Eintrag - AAARGGG!

Ok, wie bekomme ich pro Tag und Pro URL-ID einen Eintrag als result?

Jemand ne Idee für mich?

 
wahsaga
25-07-2005, 13:12 
 
Original geschrieben von prego
Ok, wie bekomme ich pro Tag und Pro URL-ID einen Eintrag als result?
möchtest du vielleicht dein GROUP BY entsprechend erweitern, so dass es auch den tag mit einbezieht ...?

 
prego
25-07-2005, 13:18 
 
Ach, so simple kanns sein - bin nur nicht drauf gekommen weil ich schon seit ner Stunde vor dem Problem sitze.

Genau das ist natürlich die Lösung - sieht also jetzt folgendermaßen aus:

$str = "SELECT count(url_id) AS click_count, DATE_FORMAT(redirect_date, '%Y-%m-%d') AS redirect_date,
redirect_url_id FROM redirect_stat WHERE
to_days(redirect_date) < to_days(now()) GROUP BY url_id, redirect_date";


Dangaaa!


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:27 Uhr.