Sybase: HAVING bearbeitet Zeilen?

Ich bin auf folgendes SYBASE SQL gestoßen:

-- Setup first
create table #t (id int, ts int)
go

insert into #t values (1, 2)
insert into #t values (1, 10)
insert into #t values (1, 20)
insert into #t values (1, 30)

insert into #t values (2, 5)
insert into #t values (2, 13) 
insert into #t values (2, 25)
go

declare @time int select @time=11
-- This is the SQL I am asking about
select * from (select * from #t where ts <= @time) t group by id having ts = max(ts)
go

Die Ergebnisse dieser SQL sind

 id          ts          
 ----------- ----------- 
           1          10 
           2           5 

Dies sieht so aus, als ob die Bedingung HAVING auf Zeilen und nicht auf Gruppen angewendet wurde. Kann jemand mich bitte auf eine Stelle hinweisen, in der der Fall in der Dokumentation zu Sybase 15.5 beschrieben ist? Ich sehe nur "HAVING operiert mit Gruppen". Das nächste, was ich in den Dokumenten sehe, ist:

Die having-Klausel kann Spalten oder Ausdrücke enthalten, die nicht in der select-Liste und nicht in der group by-Klausel enthalten sind.

(Zitat ausHier).

Sie erklären jedoch nicht genau, was passiert, wenn Sie das tun.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage