powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос на последнюю дату
5 сообщений из 5, страница 1 из 1
запрос на последнюю дату
    #38924298
S_Layer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут даже два взаимовытекаемых вопроса:
1. предположим есть таблица с данными, 1 из столбцов имеет, например, вот какой вид типа DATE:
Код: plaintext
1.
2.
3.
4.
id  startdate   (начало некоего срока)
1    31-12-2014 (ну типа новый год)
1    01-04-2015 (первое апреля, сегодня!)
1    02-04-2015 (завтра)
так вот, как построить запрос так, что бы в ответе была всего одна строка, где дата попадает в этот период (дата в таблице указывает начало периода).
тоесть вчера должна была выдасться первая строка, сегодня (1го апреля) должно выдать 2ую строку, а завтра уже третью...

и второй вопрос:
есть другая таблица, в которой какраз некоторые объекты с этими самыми ID-шниками. как построить запрос, что б выдались все строки из этой таблицы, с соответсвующими датам данными с первой таблицы?
Код: sql
1.
SELECT f.id AS id, f.name AS firsttablename, s.price AS secondtableprice FROM firsttable f LEFT JOIN secondtable s ON f.id=s.id

сюда надо в запрос еще как-то условие даты добавить...

заранее премного благодарен.
...
Рейтинг: 0 / 0
запрос на последнюю дату
    #38924315
retvizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_Layer,

1.
Код: sql
1.
select * from `таблица` where startdate <= 'вводимая дата' order by startdate desc limit 1;



2. Поясните на примере с данными.
...
Рейтинг: 0 / 0
запрос на последнюю дату
    #38924360
S_Layer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну в виде примера разберем некоторые праздники (или типа того)
1я таблица
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
id   startdate  datename
1    31-12-2014 (ну типа новый год)
1    01-04-2015 (первое апреля, день дурака)
1    01-05-2015 (первомай)
2    23-02-2015 (день защитника отечества)
2    08-03-2014 (8 марта)
2    04-04-2015 (первая суббота апреля)
тут надо учесть что для каждого из городов свои такие "праздники"

2я таблица, к примеру
Код: plaintext
1.
2.
3.
id   city
1    Москва
2    Санкт-Петербург

сегодняшний запрос должен вернуть:
Код: plaintext
1.
2.
3.
id   city             startdate   datename
1    Москва           01-04-2015  (первое апреля, день дурака)
2    Санкт-Петербург   08-03-2014 (8 марта)
в субботу ответ по Санкт-Петербургу уже должен перепрыгнуть на 04-04-2015 (первая суббота апреля)
а по москве ответ сменится только 1го мая.
короче выборка последнего такого "праздника" для каждого из городов (или сегодняшнего, если он именно сегодня)
...
Рейтинг: 0 / 0
запрос на последнюю дату
    #38924370
retvizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_Layer,

Код: sql
1.
2.
select t.*, t2.city from
(select id, max(startdate) startdate from `1я таблица` where startdate <= 'вводимая дата' group by id) t join `2я таблица` t2 on t.id=t2.id
...
Рейтинг: 0 / 0
запрос на последнюю дату
    #38924761
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_Layerкороче выборка последнего такого "праздника" для каждого из городов FAQ: Выборка первой/последней записи в группах
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос на последнюю дату
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]