sql server 统计某列中某个数据出现频率

发布于 2022-09-03 14:14:07 字数 485 浏览 10 评论 0

sql小白,数据库 sql server2008
问题1:
table表中有列cswhdxs,统计其中功能建议的数量及占比,
图片描述
求得到这样的表:

cswhdxs总数 功能建议数量 占比
100 1 1%

问题2:
统计表中同一名字对应不同版本号的数量,并按数量排序。查询得到下表:

名称 版本号 数量
xxxx 11111 5
xxxx 22222 5
yyyy 11111 6
yyyy 22222 7
zzzz 11111 8
zzzz 22222 9

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

谁与争疯 2022-09-10 14:14:07

问题1:

select t2.total, t1.cswhdxs, count(t1.cswhdxs) num, (100*count(t1.cswhdxs))/t2.total percentage
from table t1, (select count(*) total from table) t2
group by t2.total, t1.cswhdxs
夏雨凉 2022-09-10 14:14:07

问题1
select concat(cast(coalesce(round(x/y,2),0)*100 as char),'%') from table

问题2 我给你个思路吧
条件用 WHEN
统计版本用count()
按数量排序用 ORDER BY

梦罢 2022-09-10 14:14:07

问题2

select 名称,版本号,count(*) as 数量 from table group by 名称,版本号 order by 数量 asc
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文