hi all,
ich verwende folgendes statement: (mySql)
SELECT count(pic_name) as count, count(pic_path) as count2, pic_path, pic_name, datetime FROM comments WHERE datetime > ‚2001-11-06 00:00:00‘ GROUP BY pic_name, pic_path ORDER BY count DESC,count2 DESC LIMIT 1
mir geht es um diesen part:
WHERE datetime > ‚2001-11-06 00:00:00‘
wie ihr seht soll data nur aus (heute minus 3 tagen), also den letzten 3 tagen gefiltert werden. es gibt zwar funktion now()-millisekunden, aber leider wurde damals keine timestamp sondern nur ein datetime-feld angelegt. ich bräuchte im grunde sowas wie:
SELECT count(pic_name) as count, count(pic_path) as count2, pic_path, pic_name, datetime FROM comments WHERE datetime > (now()-86400) GROUP BY pic_name, pic_path ORDER BY count DESC,count2 DESC LIMIT 1
an diesem biespiel z. b. mit 86.400 sekunden, aber der zieht doch intern nicht 2001-10-10… von millisekundne ab, sorry check da die zusammenhänge nicht…hab aber gehört das es da was geben soll, dass man kein php braucht, das das gleich im select möglich ist!
danke für denkanstösse/hilfe
meth
Du kannst die SQL Funktion DATE_ADD() dazu verwenden. Also
SELECT … WHERE DATE_ADD(datetime, INTERVAL -3 DAY) > NOW()
das sollte sowohl mit timestamp als auch mit datetime feldern funktionieren.
Marian
hat bei mir leider nicht gefunzt, aber wir haben jetzt folgende lösung…meinst du die ist effektiv? funzt zumindest…
SELECT count(pic_name) as count, count(pic_path) as count2, pic_path, pic_name, datetime FROM comments WHERE now()-datetime
hat bei mir leider nicht gefunzt, aber wir haben jetzt
folgende lösung…meinst du die ist effektiv? funzt
zumindest…
Wenn es denn funktioniert 
Warum ging DATE_ADD() nicht? welche Datenbank verwendet Du dafür? Mit mySQL klappt es einwandfrei.
Gruß, Marian
ja wir haben mySql, kann es sein dass man das mit dem unix-timestamp adden muss? ich hab damals nur ein datetime eingebaut, da wusste ich nicht das der unix-t… flexibler ist.
ja wir haben mySql, kann es sein dass man das mit dem
unix-timestamp adden muss? ich hab damals nur ein datetime
eingebaut, da wusste ich nicht das der unix-t… flexibler ist.
Na ja, dann ist es vielleicht ein veraltete Version. Bei mir geht DATE_ADD() einwandfrei.
Marian
hmm ist die neueste, aber wahrscheinlich liegts an meiner unfähigkeit, bin nicht grad der mySql qrack…lass gut sein, ich werd mal das ganze etwas ausführlicher lernen…
hmm ist die neueste, aber wahrscheinlich liegts an meiner
unfähigkeit, bin nicht grad der mySql qrack…lass gut sein,
ich werd mal das ganze etwas ausführlicher lernen…
o.k. 
Wenn Du noch einen guten Onlinekurs suchst:
http://www.LernenImInternet.de bietet gerade Kurse zu PHP/mySQL an. Die sollen ganz gut sein (ich bin selbst der Autor und betreue die Teilnehmer
)
Ich habe auch einige Einsteiger-Artikel für die Infoweek geschrieben. Du kannst die Links auf meiner Homepage finden:
http://www.heddesheimer.de