Osoby, które nie orientują się o co chodzi odsyłam na http://www.adp-gmbh.ch/ora/sql/analytical/rank.html
No oto magiczne zapytanie, które z tabelki zawierającej wiadomości różnych wątków systemu BOK zwróci numer wątku razem z datą pierwszej wiadomości danego typu:
SET @intRownum := 0; SET @intLastTicketId := 0; SELECT ticket_id, received FROM ( SELECT ticket_id, received, CASE WHEN @intLastTicketId <> ticket_id THEN @intRownum := 1 ELSE @intRownum := @intRownum + 1 END AS rank, @intLastTicketId := ticket_id FROM `ebok_ticket_messages` WHERE message_type_id = 3 ORDER BY ticket_id, received ) AS t WHERE t.rank = 1;
Nieźle, prawda ?