Maison >base de données >tutoriel mysql >Comment SQL peut-il calculer les distributions de pourcentages de notes à partir de données textuelles non structurées ?

Comment SQL peut-il calculer les distributions de pourcentages de notes à partir de données textuelles non structurées ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-17 04:01:09457parcourir

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

Calculer efficacement les pourcentages de notes à partir de données non structurées avec SQL

Le stockage des notes sous forme de texte libre dans une base de données présente des défis lors du calcul des répartitions en pourcentage des notes. Cet article propose des solutions SQL pour calculer ces pourcentages pour toutes les notes, même sans valeurs de note prédéfinies.

Requête SQL pour le calcul du pourcentage

Cette requête SQL exploite la fonction over() pour un calcul efficace du pourcentage sur des valeurs de note uniques :

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

La fonction over() calcule le nombre total de lignes sur l'ensemble du tableau, permettant le calcul du pourcentage sans avoir besoin de spécifier toutes les notes possibles.

Requête SQL alternative (pour les bases de données sans over() Fonction)

Pour les bases de données dépourvues de la fonction over(), cette requête alternative utilise une sous-requête :

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

Cette approche utilise une sous-requête pour obtenir le nombre total de lignes, puis calcule les pourcentages.

Remarque importante : Ces solutions calculent avec précision les pourcentages lorsque les données de note sont stockées sous forme de valeurs à un seul caractère (par exemple, « A », « B », « C »). Les formats de note plus complexes dans du texte non structuré nécessitent un prétraitement pour extraire les valeurs de note avant d'appliquer ces requêtes SQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn