Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[SQL] comment calculer un total ?

Riwalenn, le mercredi 23 novembre 2005 à 14:41:45 
 Signaler ce message aux modérateurs

Bonjour à tous,

voilà jusqu'ici j'utilisais la requête suivante en SQL :

SELECT ProductName, SUM(Quantity) AS TOTAL
FROM DeliveryDtls
WHERE (DATEDIFF(dd, CreateDate, '11/02/2005') = 0) AND (Quality LIKE 'S')
GROUP BY ProductName


ProductName étant une colonne ainsi que Qality. Dans la table Quality j'ai 5 option dont 'S'.

Cette requête me permet d'avoir le total de mes produits de la table pour la journée. Chaque ligne représentant un produit.

Moi je voulais savoir s'il était possible d'avoir une seule ligne au lieu de plusieurs et donc un total.

Pour exemple :

le jour cité ma requête donne comme résultat :

ProductName I TOTAL
produit1 : 5
produit2 : 15
produit3 : 20
produit4 : 100
produit5 : 5
...

moi je voudrais que le résultat de ma requête soit :
Totalproduits : 145 par exemple

J'ai un bouquin mais dedans ils expliquent comment faire une moyenne mais pas comment faire un total d'une table...

si quelqu'un a la réponse je l'en remercie d'avance...
Cordialement,
Riwalenn

1

GallyNet, le mercredi 23 novembre 2005 à 14:45:51

Et si tu enleve le "group by" ?

Répondre à GallyNet

3

hssissen, le mercredi 23 novembre 2005 à 15:05:32

Exact! si tu veux une somme totale, tu ne peux pas faire une somme par groupe, donc sans group by!

Répondre à hssissen

2

Riwalenn, le mercredi 23 novembre 2005 à 15:05:04

Si j'enlève Group By ma requête ne fonctionne pas et si je mets à la place order by c'est pareil...
Cordialement,
Riwalenn

Répondre à Riwalenn

4

GallyNet, le mercredi 23 novembre 2005 à 15:09:00
  • +4

Et si tu enleve le "productName" ?

SELECT SUM(Quantity) AS TOTAL
FROM DeliveryDtls
WHERE (DATEDIFF(dd, CreateDate, '11/02/2005') = 0) AND (Quality LIKE 'S')

Répondre à GallyNet

5

Riwalenn, le mercredi 23 novembre 2005 à 15:13:56

Very Good Gally !!! effectivement ça me donne le total de la journée...

merci !!!

je voulais savoir dans la foulée si quelqu'un sait si on peut faire sur une période.. mon code est actuellement faire sur la journée. Est-il possible de le faire sur une semaine ?

Cordialement,
Riwalenn

Répondre à Riwalenn

6

hssissen, le mercredi 23 novembre 2005 à 15:47:15
  • +3

Oui, tu n'as qu'a introduire dans ta SELECT, WHERE et BETWEEN le semaine convertie en nb. de jours (7!).

Répondre à hssissen

7

Riwalenn, le mercredi 23 novembre 2005 à 16:48:28

Je dois avouer que ce n'est pas très clair pour moi ce que tu dis... Cordialement,
Riwalenn

Répondre à Riwalenn

8

bacchuss, le mercredi 23 novembre 2005 à 16:53:39

Syntaxe:

SELECT champ 
FROM matable 
WHERE condition BETWEEN  '2005-01-01' AND '2005-12-31'


tout depend de ton format de date dans ta base aussi __________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss

9

Riwalenn, le mercredi 23 novembre 2005 à 17:10:18

Je crois que j'ai toujours pas saisi la requête que vous m'expliquez...
j'ai essayé ça :
SELECT SUM(Quantity) AS TOTAL
FROM DeliveryDtls
WHERE (Quality like 'S') BETWEEN '11/02/2005' AND '11/07/2005'

à priori c'est pas ça

le probleme c'est que ma date est du genre 28/07/2005 18:44:
et quand je fais une requête je dois mettre la date à l'envers, ça fonctionne pas si je mets '07/28/2005%' Cordialement,
Riwalenn

Répondre à Riwalenn

10

bacchuss, le mercredi 23 novembre 2005 à 17:13:40

SELECT SUM(Quantity) AS TOTAL
FROM DeliveryDtls
WHERE Quality like 'S' AND (ta_date_a_toi BETWEEN '11/02/2005' AND '11/07/2005') 


c'est dd le nom de ta date ?

comme je l'ai dit aussi:
tout depend de ton format de date dans ta base aussi

regarde un peu du coté des timestamp pour tes problemes de format de date
__________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss

11

GallyNet, le mercredi 23 novembre 2005 à 17:14:54

Comment tu enregistre ta date dans ta base ?
Avec un champ date, datetime, timestamp ou un simple varchar ?

Répondre à GallyNet

12

Riwalenn, le mercredi 23 novembre 2005 à 17:20:54

C'est du datetime GallyNet Cordialement,
Riwalenn

Répondre à Riwalenn

13

GallyNet, le mercredi 23 novembre 2005 à 17:23:17

Petite question:
comment ca ce fait que ca marche ca :

DATEDIFF(dd, CreateDate, '11/02/2005') 

parce que datediff ne prend que 2 parametre, et '11/02/2005' n'estpas comprit pas mysql. Et a quoi correspond CreateDate ?

Répondre à GallyNet

14

GallyNet, le mercredi 23 novembre 2005 à 17:30:54

Bon, je part, si demande tu as pas ta réponse, je continurai a chercher. ;-)

Répondre à GallyNet

15

Riwalenn, le mercredi 23 novembre 2005 à 17:48:26

DateCreate correspond à la date de création de la ligne. On utilise un logiciel externe dans lequel on entre des données et chaque données est entrée dans la base de données SQL. Chaque produit que l'on entre dans ce logiciel correspond à une ligne dans la bdd.
C'est un peu fouilli mes explications.

datediff je l'écris comme ça dans ma requête :
WHERE (DATEDIFF(dd, CreateDate, '11/02/2005') = 0)

il faut que je signale que j'utilise une version anglaise de windows
Cordialement,
Riwalenn

Répondre à Riwalenn

16

GallyNet, le jeudi 24 novembre 2005 à 08:53:05

Justement je comprend comment tu utilise le datediff parce qu'il ne doit prend en compte que les deux premier parametre, autrement dit ca doit etre la même chose que :

WHERE (DATEDIFF(dd, CreateDate) = 0) 

Répondre à GallyNet

17

Riwalenn, le jeudi 24 novembre 2005 à 09:15:10

Non je ne crois pas que ce soit la même chose... moi pour le datediff il me demande 3 arguments.
j'ai le message suivant si je mets la requete que m'as dit :

SELECT ProductName, SUM(Quantity) AS TOTAL
FROM DeliveryDtls
WHERE (DATEDIFF(dd, CreateDate) = 0) AND (Quality LIKE 'S')
GROUP BY ProductName


[Microsoft][ODBC SQL Server Driver][SQL Server]The datediff function requires 3 arguments.

Cordialement,
Riwalenn

Répondre à Riwalenn

18

GallyNet, le jeudi 24 novembre 2005 à 09:31:58

Ok, mais alors a quoi correspond le 'dd' ?

Répondre à GallyNet

19

Riwalenn, le jeudi 24 novembre 2005 à 09:45:46

J'en ai aucune idée, on m'avait filé le code sur ce forum pour pouvoir avoir une requête sur une journée donnée vu que le % ne fonctionne pas chez moi...
et le dd n'est pas expliqué sur mon bouquin, il n'existe même pas :P Cordialement,
Riwalenn

Répondre à Riwalenn

20

Riwalenn, le vendredi 25 novembre 2005 à 16:45:24

Je vous remercie pour votre aide et pour les solutions apportées à mon problème...
;) Cordialement,
Riwalenn

Répondre à Riwalenn

21

GallyNet, le vendredi 25 novembre 2005 à 16:47:47

Ola, d'ailleur j'était tellement pris par mon travail que j'ai pas reposté depuis un moment.
Ta trouver une solution ou ta toujours un probleme ?

Répondre à GallyNet

34

Javi, le mardi 8 juillet 2008 à 11:43:48

Bonjour,

dans datediff ou aussi dateadd, le format est le suivant :

datediff('d', date1, date2) avec d pour une difference en jours, m pour une difference en mois, etc... en fait ce parametre permet de déterminé l'unité de mesure de la différence : seconde, minute, heure, jour, semaine, mois, annee.

et voila...

Répondre à Javi
Calcul en SQL? Bonjour, Je voudrais savoir si il est possible de faire des opérations en SQL et si oui quelle en est la syntaxe? Ce serais pour une multiplication de deux champs. Merci d'avance. www.commentcamarche.net/forum/affich-7233544-calcul-en-sql
[SQL oracle (sqlplus)] Comparatif dates Bonjour, Je voudrais obtenir le temps d'execution d'un traitement en sql à partir d'une date de début et d'une date de fin sous la forme : "2004-10-05 18:10:22". Si je fais une requète simple du genre : "select date_fin_traitement -... www.commentcamarche.net/forum/affich-1042707-sql-oracle-sqlplus-comparatif-dates
Calculer la différence entre 2 dates/heures Bonjour, Je souhaite calculer la différence entre 2 dates et heures en prenant compte des jours ouvrés mais aussi des heures ouvrées. Exemple : Début : 01/09/08 16h00 Fin : 02/09/08 10h00 Combien cela fait-il d'heures, sachant que mes heures ouvrées... www.commentcamarche.net/forum/affich-11381394-calculer-la-difference-entre-2-dates-heures
Google Maps - Calculer un ItinéraireTrouver des adresses, c’est déjà très pratique. Cependant, Maps peut faire bien mieux en vous permettant de calculer un itinéraire entre un point de départ et un point d’arrivée. Il existe trois méthodes pour déterminer un parcours : Cliquez sur... www.commentcamarche.net/faq/sujet-15078-google-maps-calculer-un-itineraire
Google - Fonction calculatriceGoogle dispose d'une calculatrice intégrée. Pour l'utiliser, il suffit simplemement d'entrer une expression dans le champ de saisie et de lancer la recherche ! Cette fonction est aussi accessible à partir de la barre Google ou des navigateurs... www.commentcamarche.net/faq/sujet-814-google-fonction-calculatrice
[Excel] Chemin et nom de stockage de feuille de calculIndiquer automatiquement le chemin d'accès (path) et le nom de stockage de toute feuille de calcul Noter dans une cellule (A& par exemple) la formule : =cellule("nomfichier";A1) A chaque sauvegarde et/ou déplacement de fichier dans votre... www.commentcamarche.net/faq/sujet-962-excel-chemin-et-nom-de-stockage-de-feuille-de-calcul
Excel : calcul horairebonjour à tous après avoir lu divers messages sur le calcul horaire sur excel : j'ai reussi à calculer et creer mon tableau horaire effectif et previsionnel sur le mois voir année SAUF 1 chose à la fin du calcul je n'arrive pas à reconvertir le... www.commentcamarche.net/forum/affich-3187861-excel-calcul-horaire
Requête mysql pour le calcul d'un âgeBonjour, Je débute en tant que webmaster et j'ai, tant bien que mal, pu résoudre certains problèmes. Notamment sur le calcul de l'age en tenant compte de la date de naissance compilée dans une base de donnée. Grâce à un script en php, j'ai pu obtenir... www.commentcamarche.net/forum/affich-3248789-requete-mysql-pour-le-calcul-d-un-age
SQL - champs calculé + SUM (Résolu)Bonjour, J'ai un petit problème de requête SQL qui doit être syntaxique. En deux mots, il s'agit d'une requête qui calcule la somme de la tva des objets vendus à ce jour : select sum((prixVenteTtcObjet) * 0,196) as [tva196] from ligneVenteObjet,... www.commentcamarche.net/forum/affich-5951877-sql-champs-calcule-sum
Télécharger TimeSheet CalculatorTimeSheet Calculator est un outil permet de calculer votre temps de travail à la maison. Il suffit d’entrer l’heure du commencement du travail et l’heure de sortie et l’outil calculera votre temps total passé .TimeSheet... www.commentcamarche.net/telecharger/telecharger-34060139-timesheet-calculator
Télécharger Ma Calculatrice Windows propose par défaut une calculatrice avec des fonctions dites scientifiques mais tout de même incomplètes. MaCalculatrice est une calculatrice beaucoup plus complète et évoluée. C'est une calculatrice graphique et comprend divers modules... www.commentcamarche.net/telecharger/telecharger-34055817-ma-calculatrice
Télécharger Calcul de prêtCalcul de prêt est un logiciel Freeware qui permet de calculer les caractéristiques d'un prêt ou d'un emprunt. L'application est capable de déduire pour vous différentes inconnues, selon les données en votre possession. Calcul de prêt vous donnera le... www.commentcamarche.net/telecharger/telecharger-34057835-calcul-de-pret
Totally Spies! 4: Around the WorldOther Names:Totally Spies! IV: Around the World, Totally Spies: Around the World, Genre:Aventure, Développeur:OUAT Entertainment www.commentcamarche.net/guide/1158064-totally-spies-4-around-the-world
Medieval II: Total War Kingdoms ExpansionGenre:Straégie, Développeur:Creative Assembly, Description:Given the crazy popularity of Creative Assembly's Total War games, it was a foregone conclusion that the latest version, Medieval II: Total War would be getting a beefy expansion. What we... www.commentcamarche.net/guide/945888-medieval-ii-total-war-kingdoms-expansion
Le langage SQLQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,... www.commentcamarche.net/contents/sql/sqlintro.php3
SQL - Création de tableLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE... www.commentcamarche.net/contents/sql/sqlcreate.php3
SQL - TriTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou... www.commentcamarche.net/contents/sql/sqltri.php3