2014-01-03 3 views
0

Я очень новичок в PHP и MySQL, мне было интересно, какой запрос mysql использовать для получения всех данных с понедельника по пятницу. Любая помощь будет оценена по достоинству. Спасибо :)PHP MySQL выберете все данные с понедельника по пятницу или выберите все данные с будних дней

Heres' a screenshot of my table

Кстати имя таблицы журналов.

+1

Зачем использовать downvote для этого вопроса? – sumit

+0

@icktoofay, отредактировал: –

ответ

5

использование WEEKDAY(date) функция, MONDAY - 0.

SELECT * FROM yourtable WHERE WEEKDAY(dateColumn) BETWEEN 0 AND 4 

редактировать: по данным OP в столбец даты не может быть типа datetime поэтому мы можем использовать другие поля, как day, month и year поэтому использовать этот запрос

SELECT * FROM logs 
WHERE WEEKDAY(CONCAT(year,'-',month,'-',day)) BETWEEN 0 AND 4; 

редактировать: OP хочет захватить данные только на текущую неделю, поэтому используйте этот запрос

SELECT * FROM logs 
WHERE WEEKDAY(CONCAT(year,'-',month,'-',day)) BETWEEN 0 AND 4 
    AND WEEK(CONCAT(year,'-',month,'-',day)) = WEEK(now()); 
+0

Я действительно пробовал ваш запрос, но он вернул пустой результат? Действительно ли это столбец даты функции WEEKDAY? –

+0

он должен работать. Можете ли вы попробовать разместить свой набор данных в sqlFiddle.com? Является ли ваш столбец даты типа datetime? или это варчар? –

+0

Я отредактировал свой ответ на всякий случай, если у вас нет столбца 'date' типа' datetime', поэтому мы используем другие столбцы 'year',' month', 'day', объединяем их вместе, чтобы создать допустимую строку даты –

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