powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / выбрать одну строку по макс значению.
3 сообщений из 3, страница 1 из 1
выбрать одну строку по макс значению.
    #35012109
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим у меня есть 2 таблицы, таблица городов, и таблица истории изменения численности городов.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 1 -ая таблица
-----------
IdCity CityName
 1  Город1
 2  Город2
-----------

 2 -ая таблица.
-----------
IdCity Population UpdateDate
 1   500000  '2007-01-01'
 1   600000  '2008-01-01'
 2   300000  '2007-01-01'
 2   200000  '2008-01-01'
-----------
теперь я хочу получить город и его население на максимальную дату
что то типа такого


Код: plaintext
1.
2.
IdCity CityName Population  updateDate
 1  Город1  600000  '2008-01-01'
 2  Город2  200000  '2008-01-01'
простой join здесь не поможет так как записи просто задвоятся
...
Рейтинг: 0 / 0
выбрать одну строку по макс значению.
    #35012311
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
create table city
(
idcity integer not null primary key,
cityname varchar( 50 )
);

create table population
(
idcity integer references city(idcity),
population bigint,
updatedate date
);


insert into city values ( 1 ,'город 1'),( 2 ,'город 2');

insert into population values 
( 1 , 500000 ,'2007-01-01'),( 1 , 600000 ,'2008-01-01'),( 2 , 300000 ,'2007-01-01'),( 2 , 200000 ,'2008-01-01'),( 1 , 500000 ,'2008-02-01');

select c.idcity, c.cityname,
       p.population, p.updatedate from city as c,
                                       population as p
where c.idcity = p.idcity and 
      p.updatedate = (select max(updatedate) from population as pp where pp.idcity = p.idcity)
order by c.idcity;
---------------------------------------------------------------------------------------------
IDCITY      CITYNAME                                           POPULATION           UPDATEDATE
----------- -------------------------------------------------- -------------------- ----------
           1  город  1                                                            500000   01 . 02 . 2008 
           2  город  2                                                            200000   01 . 01 . 2008 
...
Рейтинг: 0 / 0
выбрать одну строку по макс значению.
    #35013947
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо то что нужно.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / выбрать одну строку по макс значению.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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