|
Помогите составить запрос: выбрать "последнюю запись" для каждого объекта
|
|||
---|---|---|---|
#18+
Sybase ASE. Есть табличка Код: plaintext 1. 2. 3. 4. 5. 6.
в неё заносится время старта и завершения некоего процесса name, и его свойства на тот момент. Естественно name периодически повторяется, но с другим временем старта и завершения. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
т.е. вернет namestartfinish property1 property2"delta""Feb 18 2011 3:25AM" "Feb 18 2011 3:26AM"52"alfa""Feb 19 2011 3:02AM" "Feb 19 2011 3:11AM"42"beta""Feb 19 2011 3:12AM" "Feb 19 2011 3:26AM"32"gamma""Feb 19 2011 3:26AM" "Feb 19 2011 3:40AM"22 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 11:02 |
|
Помогите составить запрос: выбрать "последнюю запись" для каждого объекта
|
|||
---|---|---|---|
#18+
blzzНужно составить запрос, который для каждой name вернет запись для за последную дату finish. Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 12:37 |
|
Помогите составить запрос: выбрать "последнюю запись" для каждого объекта
|
|||
---|---|---|---|
#18+
закинуть во времянку или использовать как подзапрос результаты запроса create table #t( name varchar(30) max_finish datetime null ) insert into #t (name, max_finish) select name, max(finish) from report group by name; итоговая выборка строится как объединение c этим фильтром select r.* from report r join #t t on (r.name=t.name) where r.finish=t.max_finish Простой, но дубовый вариант, мне не нравится, просто в записи коротко. select r.* from report r where r.finish=(select max(r2.finish) from report r2 where r2.name=r.name) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 12:47 |
|
Помогите составить запрос: выбрать "последнюю запись" для каждого объекта
|
|||
---|---|---|---|
#18+
invariant Код: plaintext 1.
Спасибо. делает то то надо. Про having слышал но не понимал как им пользоваться, в where max() не засунешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 13:42 |
|
|
start [/forum/topic.php?fid=55&msg=37191865&tid=2010370]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 159ms |
0 / 0 |