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 MySQL Discussion :

Aide sur sum n top valeur


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 9
    Points
    9
    Par défaut Aide sur sum n top valeur
    bonjour , je suis nouveau de MySQL , jai besoin de votre aide

    jai la table suivante ;

    clas,joueur,bag,points
    1,toto,454-15,100
    2,toto,451-15,90
    3,toto,452-15,8
    4,yass,455-15,80
    5,yass,456-15,60
    6,yass,454-15,70

    je veux une requete MySQL donant la somme des top 2 meilleur point de chaque joueur en pour avoir le résultat suiavnt ;

    clas,joueur, sum p
    1,toto,190
    4,yass,150

    190 (100+90) 150 (80+70)

    merci d avance

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut allyass1905.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    SET session collation_connection=latin1_general_ci
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    (
      `clas`    integer unsigned  NOT NULL AUTO_INCREMENT primary key,
      `joueur`  char(04)          NOT NULL,
      `bag`     char(06)          NOT NULL,
      `points`  integer unsigned  NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    INSERT INTO `test` (`joueur`, `bag`, `points`) VALUES
    ('toto', '454-15', 100),
    ('toto', '451-15',  90),
    ('toto', '452-15',  80),
    ('yass', '455-15',  80),
    ('yass', '456-15',  60),
    ('yass', '454-15',  70)
    --------------
     
    --------------
    select * from test
    --------------
     
    +------+--------+--------+--------+
    | clas | joueur | bag    | points |
    +------+--------+--------+--------+
    |    1 | toto   | 454-15 |    100 |
    |    2 | toto   | 451-15 |     90 |
    |    3 | toto   | 452-15 |     80 |
    |    4 | yass   | 455-15 |     80 |
    |    5 | yass   | 456-15 |     60 |
    |    6 | yass   | 454-15 |     70 |
    +------+--------+--------+--------+
    --------------
    select any_value(clas), joueur, sum(points) as som
    from (
      select clas, points, bag,
             @num:=if (@prev=joueur,@num+1,1) as num,
             @prev:=joueur as joueur
      from test,(select @num:=0, @prev:=' ') as x
      order by joueur, points desc
    ) as y
    where num < 3
    group by joueur
    --------------
     
    +-----------------+--------+------+
    | any_value(clas) | joueur | som  |
    +-----------------+--------+------+
    |               1 | toto   |  190 |
    |               4 | yass   |  150 |
    +-----------------+--------+------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 9
    Points
    9
    Par défaut Merci
    Merci artmis.j'ai besoin d afficher aussi les bag qui ont les valeur sommees.

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut allyass1905.

    La même chose, mais avec en plus la colonne 'bag'.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    --------------
    select any_value(clas) as class, joueur, sum(points) as som, any_value(bag) as bag
    from (
      select clas, points, bag,
             @num:=if (@prev=joueur,@num+1,1) as num,
             @prev:=joueur as joueur
      from test,(select @num:=0, @prev:=' ') as x
      order by joueur, points desc
    ) as y
    where num < 3
    group by joueur
    --------------
     
    +-------+--------+------+--------+
    | class | joueur | som  | bag    |
    +-------+--------+------+--------+
    |     1 | toto   |  190 | 454-15 |
    |     4 | yass   |  150 | 455-15 |
    +-------+--------+------+--------+
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 9
    Points
    9
    Par défaut merci encore
    merci pour votre aide , je ve dire
    +-------+--------+------+--------+--------+
    | class | joueur | som | bag |points |
    +-------+--------+------+--------+--------+
    | 1 | toto | 190 | 454-15 |100 |
    | 2 | toto | 190 | 451-15 |90 |
    | 4 | yass | 150 | 455-15 |80 |
    6 | yass | 150 |454-15 |70 |
    +-------+--------+------+--------+--------+

    en affichent les bage qui ont donne 190 et 150

    thx

Discussions similaires

  1. Aide sur formule (valeure nulle)
    Par blackhole dans le forum Deski
    Réponses: 2
    Dernier message: 07/10/2009, 17h35
  2. Réponses: 6
    Dernier message: 02/01/2009, 17h23
  3. Aide sur Group by , sum et count
    Par rippoz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/06/2007, 14h48
  4. petite aide sur une macro pour transfere de valeur
    Par fpouzou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2007, 16h54
  5. Problème de SUM sur une absence de valeur
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/01/2007, 23h33

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