Я бы сказал, что ваши данные не нормализованы должным образом, но для этого могут быть причины.
В SQL Server 2005 и более поздних версиях вы можете использовать CTE, чтобы получить результат, близкий к тому, что вы 'ищите - попробуйте это:
WITH ShowClients AS
(
SELECT
Client, TotalA, TotalB, ItemNo,
ROW_NUMBER() OVER(PARTITION BY Client ORDER BY TotalA DESC) AS 'RowNo',
ROW_NUMBER() OVER(ORDER BY Client,TotalA DESC) AS 'Sequence'
FROM clients
)
SELECT
Client, TotalA, TotalB, ItemNo, Sequence
FROM
ShowClients
WHERE
RowNo = 1
UNION
SELECT
'', TotalA, NULL, NULL, Sequence
FROM
ShowClients
WHERE
RowNo > 1
ORDER BY
Sequence
Это дает мне вывод:
Client TotalA TotalB ItemNo Sequence
clientA 1110067.0900 869.5000 307-1-3138 1
454265.0800 NULL NULL 2
clientB 15900.0000 852.5000 307-1-3149 3
clientC 1066535.0300 465.0000 307-5-680 4
436450.7600 NULL NULL 5