|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Мне нужно выбрать все строки в моей базе данных, которые были созданы в прошлом месяце. Например, если текущий месяц январь, то я хочу вернуть все строки, созданные в декабре, если месяц февраль, то я хочу вернуть все строки, созданные в январе. У меня есть date_created столбец в моей базе данных , которая содержит список дат , созданные в этом формате: 2007-06-05 14:50:17. Сейчас у меня строка Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2020, 19:32 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3.
Если поле имеет тип DATE, то применение к нему функции DATE(), само собой, излишне. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2020, 07:38 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2020, 10:18 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#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:10 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#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, 13:53 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Всем огромное спасибо! Очень оперативно! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2020, 17:19 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Alex_Ustinov должен посчитать один раз ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2020, 18:26 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Akina, )). А NOW() отрабатывает один раз ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 07:53 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Akina, да, по ссылке из док-и все это указано в примерах, что NOW() константа, а SYSDATE() динамика https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_now ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 09:17 |
|
Запрос, чтобы получить все строки за предыдущий месяц
|
|||
---|---|---|---|
#18+
Alex_Ustinov , это я для восстановления справедливости... почему-то мануалописатели решили, что уж коли они обговорили эту особенность в описании функции, то в общей части вроде как указывать на наличие такой особенной функции и не надо. Хотя по-хорошему-то как раз именно тут и надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 09:58 |
|
|
start [/forum/topic.php?fid=47&msg=39934441&tid=1828715]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 301ms |
total: | 488ms |
0 / 0 |