Получение только данных с первого дня недели до текущего дня недели - PullRequest
0 голосов
/ 02 февраля 2019

Итак, я хочу выбрать всю строку, записанную на этой неделе.

Например.Сегодня 30 января 2019 года, а это среда.Я хотел бы выбрать всю строку с понедельника (28 января 2009 года) по среду только (текущий день).И когда наступит завтра, будут добавлены строки, добавленные в четверг.

Это будет продолжаться до воскресенья.И когда наступит понедельник следующей недели, он выберет только строки, записанные в этот понедельник.(4 февраля 2019 г.) и т. Д.

Мне просто нужно получить данные (ЭТА НЕДЕЛЯ), а не за последние 7 дней.

I have a dateadded column

-----------------------------
Firstname|Lastname|dateadded
Michael  |Jordan  |2019-02-03       <-(Feb 3, 2019)
Mark     |Perez   |2019-01-30
Paul     |George  |2019-01-28
John     |Wayne   |2019-01-25
-----------------------------

Запрос, который выберет только этотнедели добавлены данные.Марк Перес и Пол Джордж, которые находятся на одной и той же неделе текущего дня.

select * from names WHERE  YEARWEEK(`dateadded`, 1) = YEARWEEK(CURDATE(), 1) 

выберут только последние 7 дней творога.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Ну, вы можете использовать WEEKDAY(), чтобы получить номер дня текущего дня в пределах недели, и вывести абзац, если из текущей даты:

SELECT SUBDATE(CURDATE(), WEEKDAY(CURDATE()))

Выход:

2019-01-28

Демонстрация по БД Fiddle


Как прокомментировал Nick , вот пример запроса, который использует вышеупомянутый подход котфильтровать таблицу:

SELECT t.*
FROM test t
WHERE t.idate >= SUBDATE(CURDATE(), WEEKDAY(CURDATE()))
ORDER BY t.idate

Демонстрация на DB Fiddle

0 голосов
/ 02 февраля 2019

У вас есть пример того, как выглядит ваша таблица?Вы можете вставить записи с датой и номером недели.Если вы записываете дни по номерам недель, это просто, например:

ВЫБРАТЬ * ИЗ ТАБЛИЦЫ недели, ГДЕ weekno = '5';

.. В году 52 недели ..

Это выберет все с недели № 5 и автоматически добавит новые строки с того же номера недели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...