Sql 如何根据一个字段的计数并通过另一个字段过滤来计算总数的百分比
数据和预期结果: 我有上述数据,我想计算百分比并显示相应的记录计数。CountKey是3个字段的串联,我只想在它按姓氏唯一时对其进行计数,然后我想按姓氏找出每个不同状态类型的合计百分比。CountKeyTotal是Smith的唯一CountKey总数,CountKey是LastName和Status的唯一CountKey总数 我对SQL相当陌生,只能得到全部的两个总数(例如,使用提供的数据,Smith 40 3 12 25%Sql 如何根据一个字段的计数并通过另一个字段过滤来计算总数的百分比,sql,sql-server,Sql,Sql Server,数据和预期结果: 我有上述数据,我想计算百分比并显示相应的记录计数。CountKey是3个字段的串联,我只想在它按姓氏唯一时对其进行计数,然后我想按姓氏找出每个不同状态类型的合计百分比。CountKeyTotal是Smith的唯一CountKey总数,CountKey是LastName和Status的唯一CountKey总数 我对SQL相当陌生,只能得到全部的两个总数(例如,使用提供的数据,Smith 40 3 12 25% 如果您有任何帮助,我们将不胜感激。您可以使用group by和din
如果您有任何帮助,我们将不胜感激。您可以使用group by和dinamic temp表格进行总计
select
a.name, a.status
, count(a.countKey) as CountKEy
, c2 as CountKeyTotal
, (a.count(*) / b.c1) *100 as percentage
from my_table as a
inner join( select name, count(*) as c1 , count(countKey) c2 from my_table
group by name) b on a.name = b.name
group by a.name
我有MS SQL server管理工作室和SQL报表服务可供使用