2016-12-24 3 views
1

У меня есть таблица с именем request, что пользователь отправляет свои запросы, я хочу получить информацию обо всех запросах с первых 15 дней текущего месяца и после 15 дней остаток того же месяца и так каждый месяц, когда я нахожусь в текущем месяце.как на сегодняшний день1 и 15 каждого месяца на mysql

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

поэтому я нашел для проходных недели, но основывается на текущей дате, и мне нужно, чтобы это было основано на 1 месяца и 15 того же месяца, так что я могу знать, что случилось в месяц, поделенное в 2-х периодов

+0

Ваш Цюй Эстион не очень ясен. Пример данных и ожидаемый результат могут помочь нам лучше понять вашу проблему. – GurV

ответ

0

это за первые 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) 
; 

и это во второй половине месяца

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

спасибо именно то, что мне нужно –

Смежные вопросы