Je débute en SQL et j'essaie de former une requête trop compliquée pour
moi.
Voila, j'analyse une base produits et j'essaie de classer les
différents produits en fonction du chiffre d'affaire qu'ils ont générés
ces 5 dernières années.
J'ai une seule table avec des enregistrements où l'on trouve les champs
prix, références, date (au format ISO-8601).
une même référence peut évidemment avoir été vendue plusieurs fois.
J'ai essayé (avec sqlite) :
SELECT SUM(prix) FROM table WHERE reference = (SELECT DISTINCT
reference FROM table) AND date > "2006-01-01"
Mais c'est n'importe quoi ! C'est au niveau de la sous requête SELECT
que je m'embrouille. La requête me renvoie une seule valeur alors que
je m'attends à une colonne de résultats.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc Rauzier
val écrivait dans news:4d6e2361$0$5396$ ce qui suit:
Bonjour,
Bonjour
Je débute en SQL et j'essaie de former une requête trop compliquée pour moi.
Voila, j'analyse une base produits et j'essaie de classer les différents produits en fonction du chiffre d'affaire qu'ils ont générés ces 5 dernières années.
J'ai une seule table avec des enregistrements où l'on trouve les champs prix, références, date (au format ISO-8601). une même référence peut évidemment avoir été vendue plusieurs fois.
J'ai essayé (avec sqlite) :
SELECT SUM(prix) FROM table WHERE reference = (SELECT DISTINCT reference FROM table) AND date > "2006-01-01"
Est-ce que ceci fonctionne ?
select reference, sum(prix) as somme from table where date > "2006-01-01" group by reference order by somme desc
Mais c'est n'importe quoi ! C'est au niveau de la sous requête SELECT que je m'embrouille. La requête me renvoie une seule valeur alors que je m'attends à une colonne de résultats.
Help !
-- Cordialement Marc Rauzier (pour me répondre, ne pas utiliser le from mais le reply-to)
val écrivait dans
news:4d6e2361$0$5396$ba4acef3@reader.news.orange.fr ce qui suit:
Bonjour,
Bonjour
Je débute en SQL et j'essaie de former une requête trop compliquée
pour moi.
Voila, j'analyse une base produits et j'essaie de classer les
différents produits en fonction du chiffre d'affaire qu'ils ont
générés ces 5 dernières années.
J'ai une seule table avec des enregistrements où l'on trouve les
champs prix, références, date (au format ISO-8601).
une même référence peut évidemment avoir été vendue plusieurs
fois.
J'ai essayé (avec sqlite) :
SELECT SUM(prix) FROM table WHERE reference = (SELECT DISTINCT
reference FROM table) AND date > "2006-01-01"
Est-ce que ceci fonctionne ?
select reference, sum(prix) as somme
from table
where date > "2006-01-01"
group by reference
order by somme desc
Mais c'est n'importe quoi ! C'est au niveau de la sous requête
SELECT que je m'embrouille. La requête me renvoie une seule valeur
alors que je m'attends à une colonne de résultats.
Help !
--
Cordialement
Marc Rauzier
(pour me répondre, ne pas utiliser le from mais le reply-to)
val écrivait dans news:4d6e2361$0$5396$ ce qui suit:
Bonjour,
Bonjour
Je débute en SQL et j'essaie de former une requête trop compliquée pour moi.
Voila, j'analyse une base produits et j'essaie de classer les différents produits en fonction du chiffre d'affaire qu'ils ont générés ces 5 dernières années.
J'ai une seule table avec des enregistrements où l'on trouve les champs prix, références, date (au format ISO-8601). une même référence peut évidemment avoir été vendue plusieurs fois.
J'ai essayé (avec sqlite) :
SELECT SUM(prix) FROM table WHERE reference = (SELECT DISTINCT reference FROM table) AND date > "2006-01-01"
Est-ce que ceci fonctionne ?
select reference, sum(prix) as somme from table where date > "2006-01-01" group by reference order by somme desc
Mais c'est n'importe quoi ! C'est au niveau de la sous requête SELECT que je m'embrouille. La requête me renvoie une seule valeur alors que je m'attends à une colonne de résultats.
Help !
-- Cordialement Marc Rauzier (pour me répondre, ne pas utiliser le from mais le reply-to)
val
Marc Rauzier a écrit le 02/03/2011 :
Est-ce que ceci fonctionne ?
select reference, sum(prix) as somme from table where date > "2006-01-01" group by reference order by somme desc
Impec !
Merci.
Marc Rauzier a écrit le 02/03/2011 :
Est-ce que ceci fonctionne ?
select reference, sum(prix) as somme
from table
where date > "2006-01-01"
group by reference
order by somme desc