Используйте ROW_NUMBER()
с разделением по группам и упорядочите их по необходимости, затем отфильтруйте первые 10 строк:
;WITH paging AS
(
SELECT ROW_NUMBER() OVER (PARTITION BY cusip_num
ORDER BY dt_dim_id, product_dim_id, acct_dim_id) n,
[dt_dim_id],
[cusip_num],
sr.[product_dim_id],
[acct_dim_id],
[product_name]
FROM [csr_prod].[dbo].[stock_rec] AS sr,
[csr_prod].[dbo].[product_dim] AS pd
WHERE sr.product_dim_id = pd.product_dim_id
AND dt_dim_id = 20180927
)
SELECT * FROM paging WHERE n <= 10