Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 PostgreSQL v6.5.2, можно ли реализовать...   Ivan Shmakov   30 Apr 2001 17:40:37 
 Re: PostgreSQL v6.5.2, можно ли реализовать...   Bucicov Anatolie   03 May 2001 13:46:55 
 Re: PostgreSQL v6.5.2, можно ли реализовать...   Ivan Shmakov   05 May 2001 01:54:29 
 PostgreSQL v6.5.2, можно ли реализовать...   Andrey Andruikhanov   05 May 2001 08:48:32 
Архивное /su.dbms.sql/6577b8dd51bf.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional