34,590
社区成员
发帖
与我相关
我的任务
分享
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([ques_id] int,[answer_value] int)
Insert #T
select 4,0 union all
select 5,0 union all
select 3,2 union all
select 2,2 union all
select 5,0 union all
select 3,1 union all
select 2,1
Go
--测试数据结束
SELECT t1.ques_id ,t1.answer_value,
RTRIM(CONVERT(DECIMAL(10, 2), CONVERT(DECIMAL, t1.num1)
/ CONVERT(DECIMAL, t2.num2))*100)+'%' AS 比例
FROM ( SELECT ques_id ,
answer_value ,
COUNT(answer_value) AS num1
FROM #T
GROUP BY ques_id ,
answer_value
) t1
JOIN ( SELECT ques_id ,
COUNT(1) AS num2
FROM #T
GROUP BY ques_id
) t2 ON t1.ques_id = t2.ques_id
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([ques_id] int,[answer_value] int)
Insert #T
select 4,0 union all
select 5,0 union all
select 3,2 union all
select 2,2 union all
select 5,0 union all
select 3,1 union all
select 2,1
Go
--测试数据结束
SELECT t1.ques_id ,
RTRIM(CONVERT(DECIMAL(10, 2), CONVERT(DECIMAL, t1.num1)
/ CONVERT(DECIMAL, t2.num2))*100)+'%' AS 比例
FROM ( SELECT ques_id ,
answer_value ,
COUNT(answer_value) AS num1
FROM #T
GROUP BY ques_id ,
answer_value
) t1
JOIN ( SELECT ques_id ,
COUNT(1) AS num2
FROM #T
GROUP BY ques_id
) t2 ON t1.ques_id = t2.ques_id