|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre éclairé
![]() Étudiant Inscription : novembre 2007 Messages : 594 ![]() |
Bonjour a tous,
j'ai une table qui ressemble a ceci : Code :
Code :
Merci d'avance Cordialement, NeoKript |
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
bonjour,
quel est votre sgbd ? |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Étudiant Inscription : novembre 2007 Messages : 594 ![]() |
Salut,
Mon SGBDest SQL Server 2008, j'avais oublie de préciser désolé. Merci |
|
|
00
|
|
|
#4 | ||||
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
Salut !
Effectivement, les fonctions analytiques te permettent d'appliquer des fonctions d'agrégats sur une "fenêtre" définie par la clause over : Code :
Code :
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
||||
|
10
|
|
|
#5 | ||
|
Membre confirmé
![]() Développeur informatique Inscription : avril 2011 Messages : 196 ![]() |
Indépendament de tout SGBD pourvu que ca accepte les requetes imbriquées, moi je l'aurais écris :
Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Membre éclairé
![]() Étudiant Inscription : novembre 2007 Messages : 594 ![]() |
Salut et merci pour la réponse,
j'avoue ne pas tout comprendre... J'ai juste essaye une requête du type : Code :
Citation:
Merci |
|||
|
|
00
|
|
|
#7 | |||
|
Membre éclairé
![]() Étudiant Inscription : novembre 2007 Messages : 594 ![]() |
Citation:
Je vais utiliser ceci, il n'y a pas de clauses compliquées dedans... Merci |
|||
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() Développeur informatique Inscription : avril 2011 Messages : 196 ![]() |
Sinon on peux aussi le faire avec un JOIN
Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Membre éprouvé
![]() Inscription : novembre 2004 Messages : 339 ![]() |
Bonjour
Je vous propose une solution toute simple : Code :
EDIT : Oups ! Je n'avais pas raffraichi et donc pas vu la réponse de fab256.
__________________
Christophe B. Aide toi et www.developpez.com t'aidera ! Le Soleil se lève pour celui qui va à sa rencontre ! Le meilleurs moyen de prévoir le futur est encore de le créer ! |
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
Qui est horrible en terme de performance comparé aux 2 1ere requête.
la requête de pacmann induira 1 seul scannage de table + la fonction de fenêtrage. La 1ere requête de fab va induire 2 scannages de tables pour arriver au même résultat, ou des scannages d'index si ceux-ci existent. N'ayant pas accès aux création de plan sous SQL serveur je ne saurai laquelle choisir. |
|
|
00
|
|
|
#11 |
![]() ![]() |
SQL-Server 2008 n'implémente pas la partie ORDER dans les fonctions de fenêtrage d'agrégats, ce qui est bien dommage !
D'après le site de Microsoft, ce ne sera toujours pas le cas pour SQL-Server 2011 : http://msdn.microsoft.com/en-us/libr...=SQL.110).aspx C'est vraiment dommage. Malheureusement, pas le choix !
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#12 |
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
Comme quoi, il n'y a pas que MySQL qui oublie d'implémenter les fonctionnalités sympas, hein
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour,
Heu j'ai du louper un épisode... mais... quel est l’intérêt de trier avant de faire une somme ? pour moi : 3 + 2 + 5 = 2 + 3 + 5 de même le max/min/avg... d'une liste de valeurs est le même, que les valeurs soient triées ou non... |
|
|
00
|
|
|
#14 | ||
![]() ![]() |
L'intérêt c'est justement la somme cumulative. On n'est pas obligé de trier sur la valeur, on peut le faire sur une autre colonne.
Par exemple, pour calculer un chiffre d'affaires mensuel avec un cumul au fur et à mesure de l'année, ça donnerait ça (écrit à la mode SQL-Server) : Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com