Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.11.2013, 19:05   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 377
Репутация: 15
Счастье Как выбрать поле таблиции по предпоследней дате записи?

Подскажите пожалуйста, как сделать выборку по предпоследней дате записи?

По самой ранней и самой поздней дате выборка получается без проблем:

PHP код:
('Select Холодная_Вода from счет where Дата=(SELECT max(Дата) from счет)'); 
Но ничего не выводиться если я делаю вот так:


PHP код:
('Select Холодная_Вода from счет where Дата=(SELECT max(Дата)-1 from счет)'); 
В чем ошибка?
Женя32 вне форума   Ответить с цитированием
Старый 11.11.2013, 20:03   #2
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

а что такое "предпоследняя дата записи"?
eval вне форума   Ответить с цитированием
Старый 11.11.2013, 21:00   #3
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Как вариант:
Код:

Select Холодная_Вода from счет 
 where 
      Дата in (SELECT top 2 Дата from счет order by Дата)
and Дата<>(SELECT max(Дата) from счет)

Хотя и не оптимально.

Р.S. Вот почему в крутых СУБД придумали аналитические функции.
P.P.S. А вообще это лучше процедурой с FETCH делать, если аналитику СУБД не поддерживает.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 11.11.2013, 21:37   #4
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 377
Репутация: 15
Счастье

Цитата:
Сообщение от eval Посмотреть сообщение
а что такое "предпоследняя дата записи"?
Указанная дата в предпоследней или во второй строке(смотря в каком порядке идет сортировка).

Вот например, как вытащить число 120, которое было добавлено 01.10.2013(см. скриншот)?
Изображения
Тип файла: jpg zzzzzzzzzzzzzzzzzzz.jpg (17.2 Кб, 15 просмотров)
Женя32 вне форума   Ответить с цитированием
Старый 11.11.2013, 21:50   #5
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

SELECT top 2 Холодная_Вода from счет order by Дата
Потом в клиенте становись на вторую запись и бери ее данные.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 11.11.2013, 22:03   #6
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

субд ?
eval вне форума   Ответить с цитированием
Старый 11.11.2013, 22:10   #7
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Цитата:
субд ?
Судя по всему Access 2003
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 11.11.2013, 22:24   #8
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

может..

и что делать если записей с "предыдущей" датой > 1
eval вне форума   Ответить с цитированием
Старый 11.11.2013, 22:34   #9
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 377
Репутация: 15
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
SELECT top 2 Холодная_Вода from счет order by Дата
Потом в клиенте становись на вторую запись и бери ее данные.
Спасибо большое за помощь.

Цитата:
Сообщение от Stilet Посмотреть сообщение
Судя по всему Access 2003
Нет, Access 2010.

Последний раз редактировалось Stilet; 11.11.2013 в 22:39.
Женя32 вне форума   Ответить с цитированием
Старый 11.11.2013, 22:42   #10
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Цитата:
может..
Просто я заглянул в предидущую тему )
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОИСК В БД .DBF ПО ВРЕМЕНИ И ДАТЕ В ПОЛЕ ТИПА DATETIME ЛисЁНЫШ БД в Delphi 10 05.06.2010 21:02
Подстановка значения переменной как поле записи Noktikus Общие вопросы Delphi 2 17.04.2010 18:01
Выбрать ячейки по дате Aleksandr Microsoft Office Excel 1 13.11.2009 16:29
Как переносить часть записи из одной таблийы в подстановочное поле другой? Andr_zdes Помощь студентам 2 22.05.2009 10:37
Как выбрать при помощи SQL записи из набора данных pris БД в Delphi 4 22.05.2007 11:24


20:36.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru