Немного другой метод, чем другие, использующий CTE и оконные функции:
WITH VTE AS (
SELECT *,
MIN(Cpn) OVER (PARTITION BY TicketNbr) AS MinCpn,
MAX(Cpn) OVER (PARTITION BY TicketNbr) AS MaxCpn
FROM (VALUES(279211,1,'CHS','JFK'),
(295946,1,'JFK','TPA'),
(279211,2,'JFK','TPA'),
(234916,1,'JFK','CHS'),
(284916,1,'JFK','CHS'),
(279211,3,'TPA','JFK'),
(279211,4,'JFK','CHS')) V(TicketNbr,Cpn,[Start],[End])
WHERE V.TicketNbr = 279211)
SELECT V.Cpn,
V.Cpn,
V.[Start],
V.[End]
FROM VTE V
WHERE V.Cpn = V.MinCpn
OR V.Cpn = V.MaxCpn;