COUNT |
Compteur |
---|---|
Oracle Database SQL |
Syntaxe
Count(*) |
Count(expression) |
Count(DISTINCT expression) |
Paramètres
Nom | Description | |
---|---|---|
* | Ce paramètre permet d'indiquer tous les champs de colonnes sont utilisés dans le décompte. | |
expression | Ce paramètre permet d'indiquer l'expression où il effectuer le décompte. | |
DISTINCT champs | Ce paramètre permet d'indiquer que les champs identique doivent compter pour un dans le décompte des lignes. |
Description
Cette fonction retourne le nombre de ligne que contient un groupe.
Remarques
- Fonction d'agrégation : La fonction COUNT est utilisée pour compter le nombre de lignes dans un ensemble de résultats. Elle peut compter toutes les lignes ou uniquement celles correspondant à un critère spécifique, selon les paramètres fournis, et est largement utilisée dans les requêtes de synthèse.
- Gestion des valeurs NULL : Lorsque COUNT est utilisée avec une colonne spécifique, les lignes où la colonne a une valeur NULL ne sont pas comptées. Cependant, avec COUNT(*), toutes les lignes, y compris celles contenant des valeurs NULL, sont comptées.
- Différentes variantes :
- Utilisation avec GROUP BY : En combinaison avec GROUP BY, COUNT permet de calculer le nombre d'éléments dans chaque groupe. Cela est utile pour obtenir des statistiques comme le nombre de commandes par client ou le nombre de produits par catégorie.
- Performance et optimisation : L'utilisation de COUNT(*) peut être performante, car Oracle optimise cette requête pour ne pas charger toutes les colonnes. Cependant, les performances peuvent varier selon le volume des données et la structure de la table.
- Application avec des conditions : La fonction COUNT peut être combinée avec une clause CASE pour compter les lignes en fonction de conditions. Par exemple :
- COUNT(CASE WHEN statut = 'Actif' THEN 1 ELSE NULL END)
- Résultat sur des ensembles vides : Si aucune ligne ne correspond aux critères d'une requête, COUNT renvoie 0. Contrairement à certaines fonctions comme SUM, elle ne retourne jamais NULL.
- Compatibilité avec les fonctions analytiques : En tant que fonction analytique (avec OVER), COUNT peut être utilisée pour calculer le nombre de lignes dans une partition ou sur l'ensemble des données, offrant ainsi des statistiques avancées comme le nombre total de commandes cumulées.
Variante | Description |
---|---|
COUNT(*) | Compte toutes les lignes, y compris celles contenant des NULL. |
COUNT(colonne) | Compte les lignes où la colonne n'est pas NULL. |
COUNT(DISTINCT colonne) | Compte uniquement les valeurs distinctes non nulles d'une colonne. |
Cela permet de compter uniquement les lignes répondant à une condition donnée.
Exemples
Prenons pour base la table «listvalue» avec le contenu suivant :
id | value | name |
1 | 300 | Jean |
2 | 6000 | Philippe |
3 | 5000 | Samuel |
4 | 4000 | Gabriel |
4 | 4000 | Gabriel |
5 | 200 | Mathieu |
6 | 6000 | Paul |
Si vous voulez retourner le nombre d'enregistrement dans cette table vous entrez donc les instructions suivantes :
Et les informations vous seront retournés sous la forme suivante :
COUNT(*) |
6 |
Si vous voulez retourner le nombre de valeur unique de cette table vous entrez donc les instructions suivantes :
Et les informations vous seront retournés sous la forme suivante :
COUNT(DISTINCT value) |
5 |
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015