SQL Server:选择总数等于特定值的结果
我有一个select,它返回以下输出:SQL Server:选择总数等于特定值的结果,sql,sql-server,Sql,Sql Server,我有一个select,它返回以下输出: Percent Sales | Brand ---------------+------------- 30.12 BMW 29.11 Honda 22.12 Daimler 06.90 Mercedes 02.11 VW 00.12 Ford 产出应该是品牌,这些品牌创造了前80%的收入 因此
Percent Sales | Brand
---------------+-------------
30.12 BMW
29.11 Honda
22.12 Daimler
06.90 Mercedes
02.11 VW
00.12 Ford
产出应该是品牌,这些品牌创造了前80%的收入
因此,在本例中,它将是前3行。考虑到有一个
Id
列对结果进行排序。你需要找到跑步总数
;WITH cte
AS (SELECT *,
Sum([Percent Sales])OVER(ORDER BY id) AS run_tot
FROM Yourtable)
SELECT *
FROM (SELECT *,
Min(CASE WHEN run_tot > 80 THEN run_tot END) OVER() min_run_tot
FROM cte) a
WHERE run_tot <= min_run_tot
ORDER BY id
考虑到有一个
Id
列对结果进行排序。你需要找到跑步总数
;WITH cte
AS (SELECT *,
Sum([Percent Sales])OVER(ORDER BY id) AS run_tot
FROM Yourtable)
SELECT *
FROM (SELECT *,
Min(CASE WHEN run_tot > 80 THEN run_tot END) OVER() min_run_tot
FROM cte) a
WHERE run_tot <= min_run_tot
ORDER BY id
您正在使用哪个dbms?Microsoft SQL Server哪个版本200820122014..?这:所有行的总数超过80%是不清楚的。事实上,这听起来完全是胡说八道。在总结结果时,您是否有任何列可以对结果进行排序。您使用的是哪种dbms?Microsoft SQL Server哪个版本200820122014..?这一点:所有行的总数超过80%还不清楚。事实上,这听起来完全是胡说八道。你总结结果时有没有列可以排序。也可以是
orderby[Percent Sales]desc
我想如果没有id
列的话。@vkp-我没有用它,因为OP说的是前3行。如果我们使用[销售百分比]
,那么它将不是前三行..对不起。。它应该是降序的,也可以是按[Percent Sales]desc下的订单
我想如果没有id
列的话。@vkp-我没有使用它,因为OP说了前3行。如果我们使用[销售百分比]
,那么它将不是前三行..对不起。。应该是按降序排列的