|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Bucicov Anatolie 2:5020/400 03 May 2001 13:46:55 To : All Subject : Re: PostgreSQL v6.5.2, можно ли реализовать... -------------------------------------------------------------------------------- Ivan Shmakov <Ivan.Shmakov@p3.f75.n5002.z2.fidonet.org> сообщил в новостях следующее:1146138475@p3.f75.n5002.z2.fidonet.ftn... > > Допустим есть база данных mybase, в ней есть таблица mytable, в > ней -- три поля: символьное name, числовое value и time типа > datetime. Можно ли средствами языка SQL сабжевой базы данных > реализовать запрос, по которому бы для всевозможных имеющихся > значений name выдавалось значение поля value той записи, которая > имеет наиболее "новое" значение time? То есть, например, есть > такие записи: > name | value | time > --------+-------+--------------------- > test1 | 10000 | Apr 20 10:00:01 2001 > test2 | 20000 | Apr 21 15:31:44 2001 > test3 | 15000 | Apr 21 17:23:31 2001 > test3 | 13000 | Apr 22 10:21:15 2001 > test2 | 17500 | Apr 22 13:05:53 2001 > По запросу получаем: > name | value | time > --------+-------+--------------------- > test1 | 10000 | Apr 20 10:00:01 2001 > test2 | 17500 | Apr 22 13:05:53 2001 > test3 | 13000 | Apr 22 10:21:15 2001 > > Кроме того, если это не реализуемо сабжевой версией, но более > новые это умеют, тогда хотелось бы знать, с какой версии это > возможно. > > p.s. А если надо получить тоже самое, только time не просто наиболее > "новое", но, кроме того, меньше некоторого наперёд заданного? > -- > Sincerely yours Death. Создал быстренько себе табличку: create table (id integer, value integer, dt date) и наляпал тебе 2 простеньких запроса (черт.. оба работают.. прикинь..) 1) select p.id, p.value from exp p where dt = (select max(s.dt) from exp s where s.id=p.id) 2) select p.id, p.value from Exp p inner join (select id, max(dt) from exp group by id) as s (id, dt) on (p.id = s. ID and p.dt = s.dt) --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/6577b8dd51bf.html, оценка из 5, голосов 10
|