comment calculer le pour cent du total au sein du groupe par la déclaration?
J'ai une table avec 1 enregistrement par la vente par le vendeur par jour
NAME DATE
joe 1-1-13
joe 1-1-13
joe 1-1-13
dave 1-1-13
joe 1-2-13
J'ai utilisé cette fonction pour créer des & remplir le tableau en
create table #sales (name varchar(10), salesdate date )
insert into #sales (name, salesdate)
values ('joe', '01-01-2013'), ('joe','01-01-2013'),
('joe', '01-01-2013'), ('dave','01-01-2013'),
('joe','01-02-2013')
Je veux une requête pour tirer vers le haut le pourcentage de chaque vendeur chiffre d'affaires par jour
(par exemple sur 1-1-13 Joe vendu 3 unités de 4 au total pour la journée (75%)
mais je ne sais pas comment le SQL peut tirer vers le haut le quotidien total des ventes de la journée, indépendamment du vendeur
C'est aussi proche que j'ai eu.
select name, salesdate, count(*) as "dailyTotal"
from #sales
group by name, salesdate
Comment puis-je inclure le total journalier qui est de sorte qu'il peut être utilisé dans le calcul du pourcentage total pour la journée?
Attendez, je suis proche d'une solution.
OriginalL'auteur draca | 2013-12-11
Vous devez vous connecter pour publier un commentaire.
Pas la façon la plus élégante de le faire, mais vous pouvez essayer ce -
J'ai enlevé le # dans le nom de votre table. Btw, ce code dépend PLUS de la() de la clause. Vous pouvez trouver comment tronquer l'excès de zéros vous-même.
HTH.
Si cette requête est trop compliqué pour vous, alors regardez cette première. Il vous donnera une idée de ce que je suis en train de faire.
très bonne réponse, je ne connais que vous utilisez la somme avec un vide au-dessus de() de la clause
Le tableau ne semble pas en studio quand j'ai utilisé un #. Donc, je l'ai enlevé. Peut-être que je ne le remarque pas.
est-ce que cela ? Comment avez-vous modifier le code pour modifier la partie décimale ?
Cheval de troie, le hachage unique indique une table temporaire, qui n'est visible que pour la session qui l'a créé et qui est automatiquement supprimées lorsque la session se déconnecte. Ils sont créés dans la base de données tempdb. Aussi, voici une autre "bonne réponse" je ne savais pas à propos de un vide PLUS de la clause.
OriginalL'auteur Trojan.ZBOT
Les plus upvoted réponse ne semble pas correcte.
L'OP a la réponse attendue
et pourtant, le upvoted expositions de la réponse de 60%.
Au lieu de sommation sur l'ensemble des données qu'il doit être partitionné par jour, voici un exemple:
OriginalL'auteur user107172
Utiliser une requête imbriquée pour obtenir le total quotidien:
Bon, mauvais choix de nom de champ - il suffit de le mettre entre crochets
Là vous allez, a ajouté le script entier de sorte que vous pouvez le constater. N'oubliez pas de déposer le tableau à la fin du script que vous ne pouvez pas coller le code avec une commande pour supprimer la table en elle
J'ai dû bidouiller un peu pour travailler avec un certain désordre de données, mais cela a fonctionné à merveille.
OriginalL'auteur Chris Latta
-- Utilisation Ci-Dessous Requête
OriginalL'auteur shailesh chopra