IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Extraire les 20 dernières valeurs uniquement


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Points : 15
    Points
    15
    Par défaut Extraire les 20 dernières valeurs uniquement
    Salut,

    je travaille sous access pour faire les requettes et je cherche à savoir comment limiter ma requette au 20 dernières valeurs uniquement pour éviter de me retrouver avec le tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCTROW Format$(brut.date,'mm/yyyy') AS [date par mois], Avg(brut.connexion_svi) AS [Moyenne De connexion_svi], Min(brut.connexion_svi) AS [Min De connexion_svi], Max(brut.connexion_svi) AS [Max De connexion_svi], Avg(brut.serv_op) AS [Moyenne De serv_op], Min(brut.serv_op) AS [Min De serv_op], Max(brut.serv_op) AS [Max De serv_op], Avg(brut.adandons_dissuades) AS [Moyenne De adandons_dissuades], Min(brut.adandons_dissuades) AS [Min De adandons_dissuades], Max(brut.adandons_dissuades) AS [Max De adandons_dissuades], Avg(brut.qlt_serv_pris30s) AS [Moyenne De qlt_serv_pris30s], Min(brut.qlt_serv_pris30s) AS [Min De qlt_serv_pris30s], Max(brut.qlt_serv_pris30s) AS [Max De qlt_serv_pris30s], Avg(brut.qlt_serv_traite_op) AS [Moyenne De qlt_serv_traite_op], Min(brut.qlt_serv_traite_op) AS [Min De qlt_serv_traite_op], Max(brut.qlt_serv_traite_op) AS [Max De qlt_serv_traite_op], Avg(brut.tps_attente_max) AS [Moyenne De tps_attente_max], Min(brut.tps_attente_max) AS [Min De tps_attente_max], Max(brut.tps_attente_max) AS [Max De tps_attente_max], Avg(brut.appel_informati) AS [Moyenne De appel_informati], Min(brut.appel_informati) AS [Min De appel_informati], Max(brut.appel_informati) AS [Max De appel_informati], Avg(brut.perdu) AS [Moyenne De perdu], Min(brut.perdu) AS [Min De perdu], Max(brut.perdu) AS [Max De perdu], Avg(brut.nb_agent) AS [Moyenne De nb_agent], Min(brut.nb_agent) AS [Min De nb_agent], Max(brut.nb_agent) AS [Max De nb_agent]
    FROM brut
    GROUP BY Year(brut.date)*12+DatePart('m',brut.date)-1, Format$(brut.date,'mm/yyyy')
    ORDER BY Year(brut.date)*12+DatePart('m',brut.date)-1;
    merci d'avance pour vos réponses.

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    En utilisant TOP 20 et Order By.

    En esperant t'aider.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    J'arrive à n'avoir que les 20 dernières, merci pour l'astuce.
    Mais je me retrouve avec les valeurs dans le mauvaise orde.
    Soit:

    date par mois
    06/2006
    05/2006
    04/2006
    03/2006
    02/2006
    01/2006
    12/2005
    11/2005
    10/2005
    09/2005


    Je pense que s'est juste un problème avec ORDER By sur le trie des dates.
    Mais je me pause la question de comment faire.

    Voir la requette:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCTROW TOP 10 Format$(brut.date,'mm/yyyy') AS [date par mois], Avg(brut.connexion_svi) AS [Moyenne De connexion_svi], Min(brut.connexion_svi) AS [Min De connexion_svi], Max(brut.connexion_svi) AS [Max De connexion_svi], Avg(brut.serv_op) AS [Moyenne De serv_op], Min(brut.serv_op) AS [Min De serv_op], Max(brut.serv_op) AS [Max De serv_op], Avg(brut.adandons_dissuades) AS [Moyenne De adandons_dissuades], Min(brut.adandons_dissuades) AS [Min De adandons_dissuades], Max(brut.adandons_dissuades) AS [Max De adandons_dissuades], Avg(brut.qlt_serv_pris30s) AS [Moyenne De qlt_serv_pris30s], Min(brut.qlt_serv_pris30s) AS [Min De qlt_serv_pris30s], Max(brut.qlt_serv_pris30s) AS [Max De qlt_serv_pris30s], Avg(brut.qlt_serv_traite_op) AS [Moyenne De qlt_serv_traite_op], Min(brut.qlt_serv_traite_op) AS [Min De qlt_serv_traite_op], Max(brut.qlt_serv_traite_op) AS [Max De qlt_serv_traite_op], Avg(brut.tps_attente_max) AS [Moyenne De tps_attente_max], Min(brut.tps_attente_max) AS [Min De tps_attente_max], Max(brut.tps_attente_max) AS [Max De tps_attente_max], Avg(brut.appel_informati) AS [Moyenne De appel_informati], Min(brut.appel_informati) AS [Min De appel_informati], Max(brut.appel_informati) AS [Max De appel_informati], Avg(brut.perdu) AS [Moyenne De perdu], Min(brut.perdu) AS [Min De perdu], Max(brut.perdu) AS [Max De perdu], Avg(brut.nb_agent) AS [Moyenne De nb_agent], Min(brut.nb_agent) AS [Min De nb_agent], Max(brut.nb_agent) AS [Max De nb_agent]
    FROM brut
    GROUP BY Format$(brut.date,'mm/yyyy'), Year(brut.date)*12+DatePart('m',brut.date)-1
    ORDER BY Year(brut.date)*12+DatePart('m',brut.date)-1 DESC;

  4. #4
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Crees une autre requete base sur cette requete (ou transforme la requete existante en sous-requete) qui aura un order by different.

    En esperant t'aider.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Merci pour votre aide, j'ai trouvé la solution que voilà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Format$([Requête moyenne, min, max par mois].[date par mois],'mm/yyyy') AS [date par mois], [Requête moyenne, min, max par mois].[Moyenne De connexion_svi], [Requête moyenne, min, max par mois].[Min De connexion_svi], [Requête moyenne, min, max par mois].[Max De connexion_svi], [Requête moyenne, min, max par mois].[Moyenne De serv_op], [Requête moyenne, min, max par mois].[Min De serv_op], [Requête moyenne, min, max par mois].[Max De serv_op], [Requête moyenne, min, max par mois].[Moyenne De adandons_dissuades], [Requête moyenne, min, max par mois].[Min De adandons_dissuades], [Requête moyenne, min, max par mois].[Max De adandons_dissuades], [Requête moyenne, min, max par mois].[Moyenne De qlt_serv_pris30s], [Requête moyenne, min, max par mois].[Min De qlt_serv_pris30s], [Requête moyenne, min, max par mois].[Max De qlt_serv_pris30s], [Requête moyenne, min, max par mois].[Moyenne De qlt_serv_traite_op], [Requête moyenne, min, max par mois].[Min De qlt_serv_traite_op], [Requête moyenne, min, max par mois].[Max De qlt_serv_traite_op], [Requête moyenne, min, max par mois].[Moyenne De tps_attente_max], [Requête moyenne, min, max par mois].[Min De tps_attente_max], [Requête moyenne, min, max par mois].[Max De tps_attente_max], [Requête moyenne, min, max par mois].[Moyenne De appel_informati], [Requête moyenne, min, max par mois].[Min De appel_informati], [Requête moyenne, min, max par mois].[Max De appel_informati], [Requête moyenne, min, max par mois].[Moyenne De perdu], [Requête moyenne, min, max par mois].[Min De perdu], [Requête moyenne, min, max par mois].[Max De perdu], [Requête moyenne, min, max par mois].[Moyenne De nb_agent], [Requête moyenne, min, max par mois].[Min De nb_agent], [Requête moyenne, min, max par mois].[Max De nb_agent]
    FROM [Requête moyenne, min, max par mois]
    ORDER BY Year([Requête moyenne, min, max par mois].[date par mois])*12+DatePart('m',[Requête moyenne, min, max par mois].[date par mois])-1;
    Soit une requette sur une requette, bon ok c'est du travail de porc mais sa focntionne.

    voilà le résultat:
    date par mois
    07/2005
    08/2005
    09/2005
    10/2005
    11/2005
    12/2005
    01/2006
    02/2006
    03/2006
    04/2006
    05/2006
    06/2006

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/08/2014, 13h54
  2. Réponses: 4
    Dernier message: 07/05/2008, 11h53
  3. Réponses: 4
    Dernier message: 03/04/2008, 15h26
  4. [vb.net][datatable] retrouver extraire des valeur unique
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2006, 11h33
  5. Réponses: 2
    Dernier message: 23/11/2003, 19h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo