У меня есть запрос, который подталкивает меня к стене. Запрос t-sql выглядит следующим образом, но с исходной таблицей, насчитывающей около тысячи записей, он выполняется вечно и один день. Есть ли какой-нибудь более быстрый способ выполнить ту же задачу, о которой может подумать каждый:
SELECT *, ROUND((SELECT SUM(PartTotal)
FROM PartSalesRankings
WHERE Item_Rank <= sub.Item_Rank) /
(SELECT SUM(PartTotal)
FROM PartSalesRankings) * 100, 2) as Cum_PC_Of_Total
FROM PartSalesRankings As sub
Я пытаюсь классифицировать свой инвентарь по категориям A, B и C, основываясь на процентах от стоимости, но это должен быть совокупный процент стоимости, т.е. Части «А» составляют 80% моей стоимости, части «В» - следующие 15%, а части «С» - последние 5%. Очевидно, что в SQL-заявлении есть нечто большее, чем то, что я включил, но код, который я разместил, является узким местом.
Любая помощь будет принята с благодарностью!
Aj