求一SqlServer存储过程

claymore1114 2009-08-20 08:22:06
我有一张产品表product 字段: ID Name Up(int类型 1 合格,0 不合格)

现在我要建一存储过程要求 输出 合格率,就是 合格的产品数量/产品总数=??
我平时就不怎么会建存储过程,还要用到 除法 ,偶不会,求各位帮忙。
...全文
102 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
claymore1114 2009-08-20
  • 打赏
  • 举报
回复
搞定 结贴 谢谢各位
Zoezs 2009-08-20
  • 打赏
  • 举报
回复

select cast(10/2 as decimal(9,2))
--------------------------------------
5.00
黄_瓜 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 claymore1114 的回复:]
引用 4 楼 htl258 的回复:
SQL code--上面是求每款产品的合格率,以下是总合格率createproc sp_testasselectltrim(cast(sum(up)*100.0/count(1)asdec(9,2)))+'%'as 合格率from productgo

大哥 这个 as dec(9,2)  我看不懂 ,什么意思啊?
[/Quote]
将数据转化为decimal() 数据类型
Zoezs 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 claymore1114 的回复:]
引用 4 楼 htl258 的回复:
SQL code--上面是求每款产品的合格率,以下是总合格率createproc sp_testasselectltrim(cast(sum(up)*100.0/count(1)asdec(9,2)))+'%'as 合格率from productgo

大哥 这个 as dec(9,2)  我看不懂 ,什么意思啊?
[/Quote]
数据类型,decimal(9,2) 整数9位,小数2位
guguda2008 2009-08-20
  • 打赏
  • 举报
回复
学习
claymore1114 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 htl258 的回复:]
SQL code--上面是求每款产品的合格率,以下是总合格率createproc sp_testasselectltrim(cast(sum(up)*100.0/count(1)asdec(9,2)))+'%'as 合格率from productgo
[/Quote]
大哥 这个 as dec(9,2) 我看不懂 ,什么意思啊?
htl258_Tony 2009-08-20
  • 打赏
  • 举报
回复

--上面是求每款产品的合格率,以下是总合格率
create proc sp_test
as
select ltrim(cast(sum(up)*100.0/count(1) as dec(9,2)))+'%' as 合格率
from product
go
htl258_Tony 2009-08-20
  • 打赏
  • 举报
回复
create proc sp_test
as
select name,ltrim(cast(sum(up)*100.0/count(1) as dec(9,2)))+'%' as 合格率
from product
group by name
go
playwarcraft 2009-08-20
  • 打赏
  • 举报
回复
select sum(case when up=1 then 1 else 0 end)/count(*) as [合格率]
from product
csdyyr 2009-08-20
  • 打赏
  • 举报
回复
create proc test
as
select sum(Up)/count(*)
from tb

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧