|
|
|
|
|
- Présentation
- Requête SQL TOP 10 sous l'éditeur de requêtes
- Requête SQL avec un "TOP n" en programmation
Comment faire une requête SQL pour obtenir un TOP 10 ?
Pour effectuer un TOP 10 (ou les 10 meilleurs d'une sélection) d'enregistrements provenant d'un fichier de données, il est possible d'effectuer une boucle de parcours puis d'utiliser une condition pour sortir de la boucle au bout du 10ème passage. Un moyen plus efficace pour effectuer ce TOP 10 consiste à utiliser une requête SQL. Nous allons voir comment effectuer un TOP 10 en utilisant : Ben entendu, il est possible d'appliquer cette méthode à un TOP 3, ou tout autre TOP correspondant à une sélection des N meilleurs ou moins bons résultats. Requête SQL TOP 10 sous l'éditeur de requêtes Cette requête permet de réaliser un TOP 10, c'est-à -dire les 10 meilleurs résultats d'une sélection d'enregistrements d'un fichier de données. Dans cet exemple, nous réalisons le TOP 10 des 10 meilleures commandes. Les différentes étapes pour créer cette requête SQL avec un filtre sont les suivantes : - Cliquez sur parmi les boutons d'accès rapide.
- Dans la fenêtre qui s'affiche, cliquez sur "Requêtes".
- L'assistant de création d'une requête se lance.
- Choisissez de créer une requête de sélection (option "Sélection (SELECT)").
Passez à l'étape suivante de l'assistant. - La fenêtre de description de la requête s'affiche.
- Donnez un nom et un libellé à la requête :
- Dans la zone de gauche de la fenêtre de description, choisissez les rubriques du fichier de données à manipuler (dans notre exemple, le fichier COMMANDE et les rubriques NumCommande et TotalTTC).
- Double-cliquez sur les noms des rubriques pour les ajouter dans la liste des rubriques de la requête :
- Un TOP est basé sur un tri. Dans l'exemple, nous allons trier les commandes sur la rubrique TotalTTC par ordre décroissant. Pour effectuer ce tri, dans la partie droite de l'éditeur, cliquez sur le bouton "Trier".
- Dans le menu qui s'affiche, sélectionnez "Trier sur la rubrique sélectionnée".
- Dans la fenêtre qui s'affiche :
- Sélectionnez l'ordre de tri ("Décroissant" dans notre exemple).
- Validez.
- Pour effectuer le TOP, dans la partie droite de l'éditeur, cliquez sur le bouton "Les n premiers...".
- Dans la fenêtre qui s'affiche :
- Sélectionnez l'option "Sélectionner les premiers enregistrements (TOP)".
- Saisissez le nombre d'enregistrements à sélectionner (dans notre exemple, 10 pour un TOP 10).
- Validez la fenêtre.
- Validez la fenêtre de description de la requête. La requête apparaît sous l'éditeur :
- Enregistrez la requête (Ctrl + S).
- Visualisez le code SQL en appuyant sur la touche F2 :
- Testez la requête (GO dans les boutons d'accès rapide).
- La requête peut être exécutée dans le programme à l'aide de la fonction HExécuteRequête.
Requête SQL avec un "TOP n" en programmation Les requêtes SQL peuvent être écrites directement par programmation dans le code WLangage. Pour cela, il faut : - Créer une variable de type Source de données pour représenter la requête en exécution.
- Créer une variable de type chaîne de caractères pour contenir le code SQL de la requête et écrire le code SQL dans cette variable.
- Exécuter la requête SQL à l'aide de la fonction HExécuteRequêteSQL.
- Parcourir le résultat à l'aide des fonctions HLITXXX.
Exemple de code Src1 est une Source de Données
sCodeSQL est une chaîne
sCodeSQL = [
SELECT TOP 5
CLIENT.NumClient AS NumClient,
CLIENT.NomClient AS NomClient,
CLIENT.Ville AS Ville,
SUM(COMMANDE.TotalTTC) AS la_somme_TotalTTC
FROM
CLIENT,
COMMANDE
WHERE
CLIENT.NumClient = COMMANDE.NumClient
GROUP BY
CLIENT.NumClient,
CLIENT.NomClient,
CLIENT.Ville
ORDER BY
la_somme_TotalTTC DESC
]
HExécuteRequêteSQL(Src1, hRequêteDéfaut, sCodeSQL)
POUR TOUT Src1
Trace(Src1.NumClient, Src1.NomClient, Src1.Ville)
FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|