Willkommen in der Webstatt Zum Webstatt Blog und Stories
der_nic der_nic am 17.01.07 17:11

hi @ all

ich hab da ne komplizierte Abfrage die ich in MySql lösen muss und zwar:

Einmal eine Abfrage mit
[FONT=courier new]"SELECT COUNT(`id`) AS `anzahl` WHERE ..."[/FONT]
und zwar von den Einträgen wo [FONT=courier new]`kat`= 'special'[/FONT] und das momentane Datum zwischen [FONT=courier new]`start_date`[/FONT] und [FONT=courier new]`end_date`[/FONT] liegt, wobei wenn [FONT=courier new]`start_date`[/FONT] der gleiche Tag ist wie das momentane Datum dann soll er auch gezählt werden.

Also das folgender Eintrag gezählt wird: (unter Annahme das heute der 17. Januar 2007 ist)


[FONT=courier new]id | kat | start_date | end_date
10 | special | 20070115 | 20070118[/FONT]

(start_date und end_date sind vom Typ date)

netcup.de Warum gibt es hier Werbung?
Rebel4s Rebel4s am 17.01.07 19:39

$variable1 = timestamp vom 17.01.2007 00:00:00
$variable2 = timestamp vom 17.01.2007 23:59:59
Siehe mktime();

SELECT *, COUNT(`id`) AS `anzahl` WHERE `kat`= 'special' AND `start_date` > $variable1 AND end_date < $variable2 GROUP BY kat

der_nic der_nic am 17.01.07 20:53

mh ok. Ich machs jetzt anders... war eigentlich ganz einfach:D:
mit <= und >=

Michael Michael am 17.01.07 20:55

Rebel4s hatte vermutlich einfach überlesen, dass deine Felder vom Typ DATE (genau das richtige Format) sind.

der_nic der_nic am 17.01.07 20:58

ja wie gesagt hätt ich selber drauf kommen können :)

Aber danke trotzdem allen beteiligten! :)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt