一条SQL语句统计百分比
2011-10-12 17:06
211 查看
一条很简单的语句查询百分比
本例是查询文章是被点击过的在点所有文章的比重
程序释义如下:
(case COUNT(id) when null then 1 else (case COUNT(id) when 0 then 1 else count(id) end) end) ——统计所有文章的数量,如果所有文章的数量为0或者为null计为1,因为分母不能为0
convert(float, sum( case viewcount when 0 then 0 else 1 end)) ——统计访问量大于1的文章,实现思路是求所有被访问过的文章的和,在Sum()函数中如果文章访问量大于0则加1,反之则加0, 如果最后数量为null,则计为0
因为整数除以整数,会略去小数部分,所以会把统计出来的两个量,转化为Float类型,
最近,将结果格式化为小数点后有两位的小数,
本例是查询文章是被点击过的在点所有文章的比重
select CONVERT(decimal(2,2), 100 * convert(float, sum( case viewcount when 0 then 0 else 1 end)) / convert(float,(case COUNT(id) when null then 1 else (case COUNT(id) when 0 then 1 else count(id) end) end)) ) from Article
程序释义如下:
(case COUNT(id) when null then 1 else (case COUNT(id) when 0 then 1 else count(id) end) end) ——统计所有文章的数量,如果所有文章的数量为0或者为null计为1,因为分母不能为0
convert(float, sum( case viewcount when 0 then 0 else 1 end)) ——统计访问量大于1的文章,实现思路是求所有被访问过的文章的和,在Sum()函数中如果文章访问量大于0则加1,反之则加0, 如果最后数量为null,则计为0
因为整数除以整数,会略去小数部分,所以会把统计出来的两个量,转化为Float类型,
最近,将结果格式化为小数点后有两位的小数,
相关文章推荐
- 统计SQL语句耗时百分比
- 一条sql语句实现统计查询
- 一条SQL语句统计两个表的记录数
- oracle一条sql语句统计充值表中今天,昨天,前天三天充值记录
- SQL一条语句统计记录总数及各状态数
- 一条sql语句统计所有表的行数
- SQL 一条SQL语句 统计 各班总人数,男女各总人数 ,各自 男女 比例
- http://www.dewen.net.cn/q/17095/SQL:用一条SQL语句统计出符合条件的内容
- SQL 一条SQL语句 统计 各班总人数、男女各总人数 、该班级男女 比例
- 用一条sql语句显示数据百分比并加百分号
- sql语句 用户一天的数据,取最大的一条,再统计
- SQL一条语句统计记录总数及各状态数
- SQL一条语句统计记录总数及各状态数
- 怎样一条SQL语句统计该年每月的数据个数
- 一条sql语句分别统计出来两张表的数据
- 数据统计sql语句
- 一条SQL语句查询MS SQL Server数据库中的所有表、存储过程、触发器
- sql语句,多表关联查询,主要是T1表的日期在T2、T3时间段的统计查询
- 用SQL语句统计IP地址前三段
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例