求一个例子,在一个sql 表里 求两字段的百分比,并且按一段时间的月份分组 5
要求建一个储存过程,储存中不要新建表如:IDnamesum1sum2date1date21wo5122011-1-32011-3-182wo81322011-2-5201...
要求建一个储存过程,储存中不要新建表 如:
ID name sum1 sum2 date1 date2
1 wo 5 12 2011-1-3 2011-3-18
2 wo 8 132 2011-2-5 2011-4-12
求 wo sum1的和 与 sum2的和 的百分比 在2011-1-3 到 2011-4-12
的月份 展开
ID name sum1 sum2 date1 date2
1 wo 5 12 2011-1-3 2011-3-18
2 wo 8 132 2011-2-5 2011-4-12
求 wo sum1的和 与 sum2的和 的百分比 在2011-1-3 到 2011-4-12
的月份 展开
2个回答
展开全部
分组有什么规律吗?2011-1-3 到 2011-4-12指的是date1 还是date2?
更多追问追答
追问
date1 ,date2一个表示开始时间 一个表示结束时间
就是在时间期间里分组查询 储存过程不要建新表
追答
SELECT name,CONVERT(VARCHAR,CONVERT(DECIMAL(18,2),SUM(sum1)*0.01/SUM(sum2)))+'%'
FROM TableName WHERE date1 >= ‘2011-1-3’ and date2 <= ‘2011-4-12’
GROUP BY name
看看是不是你想要的,百分比转化成了 XX.XX% ,保留了2位小数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create proc col_precent
@date t_date,
@date1 t_date
as begin
set nocount on
select month(date2), cast(sum(sum1)/(sum(sum2)*1.0)*100 as nvarchar(400))+'%' from tb
where [name]='wo' and (date1=@date1 and date2=@date2)
group by month(date2)
end
@date t_date,
@date1 t_date
as begin
set nocount on
select month(date2), cast(sum(sum1)/(sum(sum2)*1.0)*100 as nvarchar(400))+'%' from tb
where [name]='wo' and (date1=@date1 and date2=@date2)
group by month(date2)
end
更多追问追答
追问
还是 不对 还是谢谢你
追答
告诉我你的QQ。。。我十几分钟帮你搞定。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询