Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:选择总数等于特定值的结果_Sql_Sql Server - Fatal编程技术网

SQL Server:选择总数等于特定值的结果

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%的收入 因此

我有一个select,它返回以下输出:

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行。如果我们使用
[销售百分比]
,那么它将不是前三行..对不起。。应该是按降序排列的