powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отбор по максимальным датам
8 сообщений из 8, страница 1 из 1
Отбор по максимальным датам
    #39897856
_Тимур_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помощи в реализации следующего запроса

Имеется таблица
fiocodedateИванов13501.01.19 Иванов 262 02.01.19 Петров 436 03.01.19 Петров11701.01.19Петров37502.01.19

Нужен отбор строк с максимальными датами по каждому fio
fiocodedateИванов26202.01.19Петров43603.01.19

Пытался использовать следующий код
Код: pascal
1.
2.
3.
select fio, code, MAX(date) as date
from table1
group by 1,2
...
Рейтинг: 0 / 0
Отбор по максимальным датам
    #39897892
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
select A.* from Table1 A,
 (select fio, MAX(date) as date from table1 group by fio) B
where A.FIO = B.FIO and A.date=B.date
...
Рейтинг: 0 / 0
Отбор по максимальным датам
    #39897894
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..
...
Рейтинг: 0 / 0
Отбор по максимальным датам
    #39897895
_Тимур_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,

Супер, то что нужно, совсем забыл про алиасы, спасибо
...
Рейтинг: 0 / 0
Отбор по максимальным датам
    #39897902
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось только понять, что делать с теми ФИО, у которых две одинаковые максимальные даты.
...
Рейтинг: 0 / 0
Отбор по максимальным датам
    #39897914
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для таких случаев постановка задачи в существующем виде не имеет смысла.
...
Рейтинг: 0 / 0
Отбор по максимальным датам
    #39898320
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите, а можно для упрощения синтаксиса использовать оконные функции? у меня есть задача также упростить синтаксис запроса, возвращающего текущие остатки, где также рассчитывается максимальная дата.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
create or alter procedure GETAMOUNTS4MODID (
    ACAID_ D_ID,
    MODID_ D_ID,
    ADATE_ D_DBDATE)
returns (
    MODCNT D_PRICE)
as
begin
  select MODCNT
  from AMOUNTS AA
  where (CAID = :ACAID_) and
        (MODID = :MODID_) and
        (ADATE = (select max(ADATE)
                  from AMOUNTS A1
                  where (A1.CAID = :ACAID_) and
                        (A1.MODID = :MODID_) and
                        A1.ADATE <= :ADATE_))
  into :MODCNT;
  suspend;
end


ADATE - то дата, а ADATE_ - это текущий таймстэмп
...
Рейтинг: 0 / 0
Отбор по максимальным датам
    #39898338
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По оптимизации запросов в сюда
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Отбор по максимальным датам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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