Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
03.03.2020, 19:32
|
|||
---|---|---|---|
|
|||
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Мне нужно выбрать все строки в моей базе данных, которые были созданы в прошлом месяце. Например, если текущий месяц январь, то я хочу вернуть все строки, созданные в декабре, если месяц февраль, то я хочу вернуть все строки, созданные в январе. У меня есть date_created столбец в моей базе данных , которая содержит список дат , созданные в этом формате: 2007-06-05 14:50:17. Сейчас у меня строка Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2020, 07:38
|
|||
---|---|---|---|
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Код: sql 1. 2. 3.
Если поле имеет тип DATE, то применение к нему функции DATE(), само собой, излишне. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2020, 10:18
|
|||
---|---|---|---|
|
|||
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2020, 13:10
|
|||
---|---|---|---|
|
|||
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Alex_Ustinov Код: sql 1.
Сори, вопрос немножко не в тему. А оптимизатор посчитает LAST_DAY(NOW() - INTERVAL 1 month) один раз? И как поведет себя запрос, если во время его выполнения NOW() перескочит на следующий месяц? Может имеет смысл сделать что-то типа FROM (SELECT @a:=LAST_DAY(NOW() - INTERVAL 1 month)) AS z и в WHERE использовать уже переменную? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2020, 13:53
|
|||
---|---|---|---|
|
|||
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
должен посчитать один раз https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html Functions that return the current date or time each are evaluated only once per query at the start of query execution. This means that multiple references to a function such as NOW() within a single query always produce the same result. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2020, 17:19
|
|||
---|---|---|---|
|
|||
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Всем огромное спасибо! Очень оперативно! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2020, 18:26
|
|||
---|---|---|---|
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Alex_Ustinov должен посчитать один раз ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 07:53
|
|||
---|---|---|---|
|
|||
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Akina, )). А NOW() отрабатывает один раз ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 09:17
|
|||
---|---|---|---|
|
|||
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Akina, да, по ссылке из док-и все это указано в примерах, что NOW() константа, а SYSDATE() динамика https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_now ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.03.2020, 09:58
|
|||
---|---|---|---|
Запрос, чтобы получить все строки за предыдущий месяц |
|||
#18+
Alex_Ustinov , это я для восстановления справедливости... почему-то мануалописатели решили, что уж коли они обговорили эту особенность в описании функции, то в общей части вроде как указывать на наличие такой особенной функции и не надо. Хотя по-хорошему-то как раз именно тут и надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&tablet=1&tid=1828715]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 275ms |
0 / 0 |