SQL算百分比的问题
时间:2011-11-26
来源:互联网
3 方芳芳
3 凤飞飞
15 傅芬芳
根据ID算出NAME占的百分比,结果也就是:
3 方芳芳 50.00%
3 凤飞飞 50.00%
15 傅芬芳 100.00%
SQL code
SELECT STR(COUNT(1)*100/B.Con,5,2)+'%' AS Share FROM Tab AS a,(SELECT COUNT(1) AS Con FROM Tab) AS B GROUP BY B.Con
我写的SQL只能算整个的百分比,不能跟ID分开。怎么写呢?
作者: qq3889163 发布时间: 2011-11-26
select *,100./(SELECT COUNT(*) FROM tab WHERE A.ID=ID) FROM TAB AS A
作者: liangCK 发布时间: 2011-11-26
作者: longai123 发布时间: 2011-11-26
SELECT STR(COUNT(1)*100.0/B.Con,5,2)+'%' AS Share FROM Tab AS a inner join (SELECT ID,COUNT(1) AS Con FROM Tab group by ID) AS B on a.ID=b.ID GROUP BY B.Con
以下两个位置要改改
100.0
(SELECT ID,COUNT(1) AS Con FROM Tab group by ID)
作者: roy_88 发布时间: 2011-11-26
作者: yudiw 发布时间: 2011-11-26
if object_id('tb','u') is not null drop table tb go create table tb ( id int, name varchar(10) ) go insert into tb select 3,'方芳芳' union all select 3,'凤飞飞' union all select 15,'傅芬芳' go select id,name,百分比=cast((select count(1) from tb where id=a.id and name=a.name)*100/count(1) over(partition by id) as varchar)+'%' from tb a /* id name 百分比 ----------- ---------- ------------------------------- 3 方芳芳 50% 3 凤飞飞 50% 15 傅芬芳 100% (3 行受影响) */
作者: pengxuan 发布时间: 2011-11-26
SQL code
select *,100./(SELECT COUNT(*) FROM tab WHERE A.ID=ID)
FROM TAB AS A
正解~~
作者: Lastone_Key 发布时间: 2011-11-26
SQL code
if object_id('tb','u') is not null
drop table tb
go
create table tb
(
id int,
name varchar(10)
)
go
insert into tb
select 3,'方芳芳' union all
select 3,'凤飞飞' union all
select……
。
作者: fredrickhu 发布时间: 2011-11-26
FROM TAB AS A
作者: Beirut 发布时间: 2011-11-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28