SUM() Problem mit eingrenzung!

Sebigf

Erfahrenes Mitglied
Hallo zusammen!

Es geht darum, dass ich versuche eine Statistik zu bauen.

Dabei soll der Gesamtwert aller klicks der "letzten 7 Tage" zusammen addiert werden.
Ich habe es mit SUM() probiert, aber ich weis nicht wie ich es eingrenzen kann?!


DB - Struktur

id - INT
day - VARCHAR
views - INT

Kann mir da einer helfen ?

Danke
 
Ich würde das Datum als DATE speichern, dann kannst Du bequem mit den Datums- und Zeit-Funktionen eine WHERE-Klausel schreiben. Mit der Forensuche findest Du bestimmt einige Beiträge, in denen beschrieben ist, wie man nur die "letzten x Tage" einbezieht.

Gruß hpvw
 
Hallo!

Thx für die Antwort!

Ich habe es nun in DATE geänder und es ist auch besser zu übersehen für mich.
Doch leider reagier SUM() nicht auf die Where klausel....

Hier der Code

Code:
$datx = date("d");	
				
$sql2 = "SELECT id, day, DAYOFMONTH(day) AS int_day, SUM(views) AS gesamtcounts FROM visits_tab WHERE (DAYOFMONTH(day) < $datx) GROUP BY MONTH(day) ORDER BY id ASC LIMIT 7";

Es gibt 8 Entrys in dieser tab. aber leider ließt er trotz LIMIT 7 alle 8 aus. :(

Danke für jede Hilfe!"
 
SELECT id, day, SUM(views) AS gesamtcounts FROM visits_tab GROUP BY week(day) ORDER BY id ASC


so wie es verstanden habe mit der frage suchste sowas :-)
 
Da ich es nicht so richtig verstanden habe, hier zwei Vorschläge:
Code:
SELECT 
SUM(`views`) AS `Klicks der letzten 7 Tage`
FROM visits_tab
WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY)<`day`
Code:
SELECT
DAYOFWEEK(`day`) AS `Wochentag`,
SUM(`views`) AS `Klicks am Tag`
FROM visits_tab
WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY)<`day` 
GROUP BY `day`
Gruß hpvw
 
Zuletzt bearbeitet:
MMh, nichts von beiden hat geholfen...leider!

Ich habe überlegt mich nicht mehr an den tagen zu orientieren sondern einfach nur die letzten 7 tage auslesen.

Hier nochmal der Code

Code:
$sql2 = "SELECT SUM(views) AS gesamtcounts FROM visits_tab LIMIT 7";
Im prinzip, muss ich jetzt SUM wieder einmal dazu bekommen nur LIMIT 7 alle entrys zu zählen. Ist zwar das gleiche schema, aber mit dem Datum funtzt einfach nicht und ich probiere seit Stunden daran rum :(

Danke
 
Wähle einen anderen Namen für day, da dieser schon von SQL als Function verwendet wird, kann es zu unerwarteten Ergebnissen führen!

Wenn day die Daten(->Datum) enthält, dann versuch mal das (getestet auf Sql Server 2000):

Where day > Dateadd(d, -7, Getdate())

LG _Jens_
 
_jens_ hat gesagt.:
Wähle einen anderen Namen für day, da dieser schon von SQL als Function verwendet wird, kann es zu unerwarteten Ergebnissen führen!

Wenn day die Daten(->Datum) enthält, dann versuch mal das (getestet auf Sql Server 2000):

Where day > Dateadd(d, -7, Getdate())

LG _Jens_
Autsch, Danke, werde es oben korrigieren.
:-(

Gruß hpvw
 
Zurück