SELECT a.n, min(a.t) min_before, CASE WHEN a.v = 'BRUN' THEN b.jt WHEN a.v = 'BLOND' THEN Max(CASE WHEN a.t < b.jp THEN a.t ELSE -1 END) END max_before, b.jt min_after, max(a.t) max_after FROM TABLE a JOIN ( SELECT n, min(t) jt FROM TABLE WHERE c = 'jopa') b ON (a.n = b.n) GROUP BY a.n, b.jt
ну как бы для вычисления чисто жопы может и подойдёт, но 2 селекта с жойном встроить в запрос где оконками остальные максималки/минималки для других частей тела вычисляются - вроде сильно затратно