Wat je nu doet zou hetzelfde zijn als:
SELECT * FROM beoordelingen WHERE 1 AND score = 5
Link gekopieerd
Ik denk dat dit is wat je wilt.
SELECT * FROM beoordelingen WHERE EXTRACT(YEAR_MONTH FROM datum) = EXTRACT(YEAR_MONTH FROM CURDATE()) AND score = 5
Als je alleen MONTH zou extracten krijg je ook resultaten uit 2013, 2012, 2011 etc als je die hebt.
Link gekopieerd
Een wat ingewikkeldere query, maar met als voordeel dat er geindexeerd kan worden:
SELECT * FROM beoordelingen
WHERE datum
BETWEEN
(LAST_DAY(CURRENT_DATE) + INTERVAL 1 DAY) - INTERVAL 1 MONTH
AND
LAST_DAY(CURRENT_DATE)
AND score = 5
Link gekopieerd
Oke top bedankt! Het is gelukt.
Ik heb ook een veld in mijn database met datetime, hier werkt het helaas anders lijkt wel...
Ik wil de aantal uitnodiginge van de huidige maand weten, dit is de query so far:
<?php $q = 'SELECT * FROM emails WHERE klant_id = '.$_SESSION['fbpuserid'].' AND domein_id = '.getCurrentDomeinId().' AND uitnodigings_datum = ....... <deze maand...> ?>
Link gekopieerd
wat gaat er mis als je de query van Ger toepast?
Of desnoods, als je werkt met MONTH(NOW()) = MONTH(datetimekolom) AND YEAR(NOW()) = YEAR(datetimekolom)
?
(PS: het is wel overzichtelijk als je een query over meerdere regels verspreid (zoals Ger bijvoorbeeld doet)
Link gekopieerd
Ivo P op 06/05/2014 14:29:46
wat gaat er mis als je de query van Ger toepast?
Of desnoods, als je werkt met MONTH(NOW()) = MONTH(datetimekolom) AND YEAR(NOW()) = YEAR(datetimekolom)
?
(PS: het is wel overzichtelijk als je een query over meerdere regels verspreid (zoals Ger bijvoorbeeld doet)
Ik heb de code nu zo:
<?php SELECT * FROM emails WHERE klant_id = 50 AND domein_id = 36 AND uitnodigings_datum BETWEEN (LAST_DAY(CURRENT_DATE) + INTERVAL 1 DAY) AND LAST_DAY(CURRENT_DATE) ?>
Maar het resulaat is leeg terwijl er vandaag een uitnodiging is verstuurd, de datetime in de database is: 2014-05-06 12:12:27
Mvg Furio
Link gekopieerd
is je enter knop kapot?
wat geeft:
SELECT *
FROM emails
WHERE klant_id = 50
AND domein_id = 36
AND MONTH(uitnodigings_datum) = MONTH(NOW())
AND YEAR(uitnodigings_datum) = YEAR(NOW())
of
SELECT *
FROM emails
WHERE klant_id = 50
AND domein_id = 36
AND MONTH(uitnodigings_datum) = 5
AND YEAR(uitnodigings_datum) = 2014
is er geen mysql-foutmelding?
Link gekopieerd
Masr waarom Ger's oplossing dan niet werkt?
Link gekopieerd