首页 > 数据库 > mysql教程 > SQL 如何从非结构化文本数据计算成绩百分比分布?

SQL 如何从非结构化文本数据计算成绩百分比分布?

Patricia Arquette
发布: 2025-01-17 04:01:09
原创
457 人浏览过

How Can SQL Calculate Grade Percentage Distributions from Unstructured Text Data?

使用 SQL 从非结构化数据高效计算成绩百分比

在计算成绩百分比分布时,将成绩作为自由文本存储在数据库中会带来挑战。本文提供了 SQL 解决方案来计算所有成绩的这些百分比,即使没有预定义的成绩值也是如此。

用于百分比计算的 SQL 查询

此 SQL 查询利用 over() 函数跨唯一等级值进行有效的百分比计算:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER ()
FROM MyTable
GROUP BY Grade;</code>
登录后复制

over() 函数计算整个表的总行数,无需指定所有可能的成绩即可进行百分比计算。

替代 SQL 查询(适用于没有 over() 功能的数据库)

对于缺少 over() 函数的数据库,此替代查询使用子查询:

<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable)
FROM MyTable
GROUP BY Grade;</code>
登录后复制

此方法使用子查询来获取总行数,然后计算百分比。

重要提示:当成绩数据存储为单字符值(例如“A”、“B”、“C”)时,这些解决方案可以准确计算百分比。 非结构化文本中更复杂的成绩格式需要在应用这些 SQL 查询之前进行预处理以提取成绩值。

以上是SQL 如何从非结构化文本数据计算成绩百分比分布?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板