Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2011, 21h10   #1
Invité régulier
 
Inscription : avril 2003
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 52
Points : 7
Points : 7
Par défaut affichage avec cumuls

salut a tous

j'ai une table du genre

jour | recettes
lundi | 10000
mardi | 10000
mercredi | 10000
jeudi | 10000
vendredi | 10000

je voudrais écrire un select pour récupérer la recette de chaque jour et le cumul. mais je vois pas trop comment faire.

SELECT jour, recettes, sum ???
FROM table

j'avoue que je sèche pour obtenir

jour | recette | cumul
lundi | 10000 | 10000
mardi | 10000 | 20000
ETC...

une idée ?
sebnutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 21h23   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 443
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 443
Points : 7 528
Points : 7 528
Quel est ton SGBD ?
Prend-il en charge les fonctions de regroupement avec fenêtrage ?
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 21h28   #3
Invité régulier
 
Inscription : avril 2003
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 52
Points : 7
Points : 7
salut Al1, c'est MySQL
je ne sais pas répondre à la seconde question
sebnutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 21h56   #4
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 443
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 443
Points : 7 528
Points : 7 528
La réponse à la seconde question est : non.

Comment définis-tu l'ordre de tes lignes ? Le classement alphabétique des jours de la semaine n'est sans doute pas ce que tu attends...
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 21h59   #5
Invité régulier
 
Inscription : avril 2003
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 52
Points : 7
Points : 7
j'ai fait ça :
Code :
1
2
3
SELECT date, recette, (SELECT SUM(recette) FROM recettes) AS cumul
FROM recettes
GROUP BY date
mais ça ne donne pas vraiment ce que je veux...
sebnutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 22h00   #6
Invité régulier
 
Inscription : avril 2003
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 52
Points : 7
Points : 7
Citation:
Envoyé par al1_24 Voir le message
La réponse à la seconde question est : non.

Comment définis-tu l'ordre de tes lignes ? Le classement alphabétique des jours de la semaine n'est sans doute pas ce que tu attends...
on peut ajouter un "ORDER BY date" sachant que c'est pas lundi mais plutot un champ DATE
sebnutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 22h04   #7
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 443
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 443
Points : 7 528
Points : 7 528
Quelque chose comme ça devrait fonctionner :
Code :
1
2
3
4
5
6
7
8
9
10
SELECT  t1.madate
    ,   t1.recette
    ,   SUM(t2.recette) AS cumul
FROM    recettes    AS t1
    INNER JOIN
        recettes    AS t2
        ON  t1.madate >= t2.madate
GROUP BY t1.madate
    ,   t1.recette
ORDER BY t1.madate
DATE est un mot réservé du langage SQL, il faut éviter de l'utiliser pour nommer une colonne
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 22h20   #8
Invité régulier
 
Inscription : avril 2003
Messages : 52
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 52
Points : 7
Points : 7
en effet ça marche nickel !
tu pourrais juste m'expliquer ta requete que je comprenne ce que j'ai copié / collé ?
sebnutt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 22h59   #9
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 443
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 443
Points : 7 528
Points : 7 528
Si tu supprimes les regroupements, tu obtiens cela :
Code :
1
2
3
4
5
6
7
8
9
10
SELECT  t1.madate
    ,   t1.recette
    ,    t2.madate
    ,   t2.recette
FROM    recettes    AS t1
    INNER JOIN
        recettes    AS t2
        ON  t1.madate >= t2.madate
ORDER BY t1.madate
    ,    t2.madate
A chaque date est associée la liste des recettes des jours précédents, c'est tout simple.
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web