2016-12-24 1 views
1

Ich habe eine Tabelle mit dem Namen request, dass Benutzer ihre Anfragen einreichen, ich möchte Informationen aller Anfrage von den ersten 15 Tagen des aktuellen Monats erhalten und nach den 15 Tagen sind die getan Rest des gleichen Monats und so ein für jeden Monat, wenn ich im aktuellen Monat bin.wie zu Datum1 und 15 jedes Monats auf mysql

SELECT * 
FROM request 
WHERE req_date >= curdate() - INTERVAL DAYOFWEEK(curdate()) + 15 DAY 
AND req_date < curdate() - INTERVAL DAYOFWEEK(curdate())- 1 DAY; 

das ist, warum ich für Pass Wochen gefunden, aber auf aktuelle Datum basiert und ich brauche es auf der Grundlage der 1 des Monats und 15 des gleichen Monats werden, damit ich weiß, was im Monat passiert ist geteilt in 2 Perioden

+0

Ihre qu Es ist nicht sehr klar. Beispieldaten und erwartete Ausgabe könnten uns helfen, Ihr Problem besser zu verstehen – GurV

Antwort

0

ist dies für die ersten 15

SELECT * FROM request 
WHERE 
req_date between CAST(DATE_FORMAT(NOW() ,'%Y-%m-01') as DATE) 
     and CAST(DATE_FORMAT(NOW() ,'%Y-%m-15') as DATE) 
; 

und dies für die zweite Hälfte Monat

SELECT * FROM request 
WHERE 
req_date between CAST(DATE_FORMAT(NOW() ,'%Y-%m-16') as DATE) 
     and LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH)) 
; 
+0

danke ist genau das, was ich brauchte –

Verwandte Themen