Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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,如何对SQL Server中的计数值求和 我有一张桌子。我要计算数值的和 怎么做 SELECT Top 10 count(d.name) as countname,d.name as name ,sum(count(d.name)) as sumcount FROM table 1 as d group by d.name order by count(d.name) desc 我想显示countname,name,sumcount。如何做到这一点?我不确定是否理解您的问题,但如果您只是想得

如何对SQL Server中的计数值求和

我有一张桌子。我要计算数值的和

怎么做

SELECT Top 10 count(d.name) as countname,d.name as name ,sum(count(d.name)) as sumcount
FROM table 1 as d 
group by d.name order by count(d.name) desc

我想显示
countname
name
sumcount
。如何做到这一点?

我不确定是否理解您的问题,但如果您只是想得到所有
计数(d.name)
值的总和,那么这将为您做到这一点:

SELECT Top 10 count(d.name) as countname,d.name as name ,sum(count(d.name)) as sumcount
FROM table 1 as d 
group by d.name order by count(d.name) desc
select sum(countname) as TotalCount
from
(
    SELECT Top 10 
        count(d.name) as countname,
        d.name as name
    FROM [table 1] as d  
    group by d.name 
    order by count(d.name) desc 
)a

我不确定我是否理解您的问题,但如果您只是想得到所有
计数(d.name)
值的总和,那么这将为您提供:

select sum(countname) as TotalCount
from
(
    SELECT Top 10 
        count(d.name) as countname,
        d.name as name
    FROM [table 1] as d  
    group by d.name 
    order by count(d.name) desc 
)a

扩展@Shark提供的答案,MySQL语法如下所示:

set @TotalCount = (select sum(countname) from (
    select count(d.name) as countname, d.name as name
    from table 1 as d
    group by name
    order by countname desc
    limit 10
) a);

select count(d.name) as countname, d.name as name, @TotalCount
FROM table 1 as d 
group by name 
order by countname desc
limit 10;

您可能需要查找MS SQL语法以设置局部变量和限制。

扩展@Shark提供的答案,MySQL语法将如下所示:

set @TotalCount = (select sum(countname) from (
    select count(d.name) as countname, d.name as name
    from table 1 as d
    group by name
    order by countname desc
    limit 10
) a);

select count(d.name) as countname, d.name as name, @TotalCount
FROM table 1 as d 
group by name 
order by countname desc
limit 10;

您可能需要查找MS SQL语法以设置局部变量和限制。

将带有汇总的
添加到查询的末尾

将带有汇总的
添加到查询的末尾

我想显示countname、name、sumcount。怎么做?@JamSva我很难理解你在找什么。请用测试数据和最终结果编辑您的问题。“我可以从中得到更好的想法。@JamSva,将TotalCount分配给一个变量,然后将其包含在原始查询中。”。我将做一个添加到此答案的答案。我想显示countname、name、sumcount。怎么做?@JamSva我很难理解你在找什么。请用测试数据和最终结果编辑您的问题。“我可以从中得到更好的想法。@JamSva,将TotalCount分配给一个变量,然后将其包含在原始查询中。”。我会做一个补充回答。你的问题很难理解。请提供测试数据(如补足数据),以及查询后结果集的外观。sum和count的值将相同。。。如果你数到10,10的总和是。。。10.
选择前10名COUNT(*)作为countname,d.表1中的name作为d GROUP BY d.name ORDER BY COUNT(*)DESC
将为您提供前10名最常用的
d.name
值及其使用次数。您的问题很难理解。请提供测试数据(如补足数据),以及查询后结果集的外观。sum和count的值将相同。。。如果你数到10,10的总和是。。。10.
选择前10个COUNT(*)作为countname,从表1中选择d.name作为d GROUP BY d.name ORDER BY COUNT(*)DESC
将为您提供前10个最常用的
d.name
值以及它们的使用次数。使用rollup
是否可以使用MS SQL中的
ORDER BY
子句?这在MySQL中不起作用,这使得在添加count(d.name)之前很难确保拥有最多的count出现次数。此外,在MySQL和使用限制的情况下,汇总不起作用,因为汇总结果作为一行添加到表的末尾。如果使用限制,您将错过最后一行,以及汇总的结果。
with rollup
是否可以使用MS SQL中的
order by
子句?这在MySQL中不起作用,这使得在添加count(d.name)之前很难确保拥有最多的count出现次数。此外,在MySQL和使用限制的情况下,汇总不起作用,因为汇总结果作为一行添加到表的末尾。如果使用限制,则会错过最后一行以及汇总结果。