|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Pedro LitoInscription : janvier 2012 Messages : 4 ![]() |
Bonjour à tous,
Je viens vers vous en espérant que vous pourrez m'aider J'ai une base de données avec de nombreuses valeurs (plus de 100 000 oO). Avec une date et une valeur attitrée. Lorsque je fais mon select entre deux date, il me retourne plus de 5000 valeurs, et mon application ne le permet pas :S C'est pourquoi j'aimerais pouvoir récupérer par exemple 2000 valeurs, avec la première valeur correspondant à ma première date, et ma dernière valeur correspondant à ma dernière date. Entre ces deux dates, il faudrait 1998 valeurs toutes séparées avec le même interval. Ma table est trié par date. Merci d'avance pour vos nombreuses réponses. |
|
|
00
|
|
|
#2 |
![]() ![]() |
Quelle est votre version de SQL-Server ?
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Pedro LitoInscription : janvier 2012 Messages : 4 ![]() |
J'ai la version express 2008.
Merci |
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Une piste de recherche :
Code :
__________________
Email : http://scr.im/waldar |
||
|
10
|
|
|
#5 |
|
Invité de passage
![]() Pedro LitoInscription : janvier 2012 Messages : 4 ![]() |
Merci pour cette réponse rapide, j'essaie ça dans la journée, et je vous tiens au courant de mon avancé.
Merci encore. |
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 5 ![]() |
Bonjour je suis un ami de pedrolito.
J'aimerais comprendre votre requete mais je ne la comprends pas. Je m'explique: nous avons une table avec une colonne date nommée date_valeurs et d'autres colonnes nommées respectivement A1, A2, A3.. et contenant des valeurs Ce que nous aimerions faire c'est donc prendre par exemple 2000 valeurs de A1 entre une date 1 et une date2. L'ensemble des dates doivent être séparées par un intervalles plus ou moins egales. J'ai donc essayé votre requetes comme cela (il se peut que j'ai mal fait la requete car je ne la comprends pas trops): Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : janvier 2012 Messages : 117 ![]() |
Je ne sais pas à quoi ressemble l'application, mais ne serait il pas plus intéressant de présenter à l'utilisateur des pages de 1000 (ou 2000) résultats? On pourrait aussi y ajouter la date min et la date max. J'avoue avoir du mal à comprendre (mais veux bien être éclairé
|
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 5 ![]() |
Si si le mieux serait de séparer les date par un intervalle régulier.
Au fait il s'agit de réaliser des graphiques grâce a ces données. Et le problème c'est que lorsque l'on récupére l'ensemble des données et que l'on veut les afficher sous forme de graphique, le système rame. (Cependant, pour environ 2000 valeurs tout ce passe correctement). Est ce que c'est plus clair? |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
Donc ce que vous voulez, ça serait plutôt du domaine de la moyenne sur quelques intervalles prédéfinis, non ?
Admettons qu'entre les dates limites 1er janvier 2010 et 31 décembre 2010, il y ait 2000 valeurs en janvier, puis 1000 en février, puis 2000 en décembre. Vous voudriez que ça choisisse quelles valeurs ? Sinon, autant prendre les 2000 premières valeurs. |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 5 ![]() |
Et bien si le graphique représente les valeurs du 1 janvier 2010 au 31 décembre 2010 nous voudrions prendre 2000 valeurs de façon a ce que le graphique représente plus ou moins la réalité (donc les 2000 premières valeurs de conviennent pas puisque dans cette exemple nous aurons que le mois de janvier). Donc ce serait 2000 valeurs séparées par un intervalle (a definir) de façon a couvrir toute la periode.
Avez vous compris? C'est dur a expliquer |
|
|
00
|
|
|
#11 |
![]() ![]() |
La fonction NTILE que j'ai utilisée scinde en votre jeu de données en 2000 groupes de tailles à peu près comparables.
J'ai ensuite utiliser la fonction ROW_NUMBER pour récupérer le premier membre de chaque groupe. Il me semble que ça cadre à peu près à votre besoin, le plus simple reste de décomposer la requête et de voir pas à pas ce qu'elle fait, n'ayant pas vos données sous la main je ne peux pas garantir que ce soit la meilleure solution. Et puis vous êtes étudiant, c'est bien pour vous de chercher aussi !
__________________
Email : http://scr.im/waldar |
|
10
|
|
|
#12 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 5 ![]() |
Ce n'est pas faux. Je vous remercie de nous avoir repondu
Cependant, j'ai encore une question à propos de la requête: A quoi sert le WITH ? et que signie cette ligne : Je n'arrive pas a trouver une explication clair sur internet. Merci. |
|
|
00
|
|
|
#13 | ||
![]() ![]() |
C'est ce qu'on appelle en anglais une CTE (Common Table Expression) ou expression de table commune en français.
Ça permet de déclarer une ou plusieurs requêtes qu'on peut utiliser par la suite. With est le mot clef qui est associé à la CTE. La seconde ligne, c'est la seconde CTE de la requête. La requête que j'ai écrite est strictement égale à celle-ci : Code :
http://msdn.microsoft.com/fr-fr/library/ms190766.aspx Le cours de SQLPro : http://sqlpro.developpez.com/cours/s...cursives/#LIII
__________________
Email : http://scr.im/waldar |
||
|
10
|
|
|
#14 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 5 ![]() |
Merci pour vos réponses rapides.
Je vais essayer de faire fonctionner la requête aujourd'hui ou demain et je reviendrais vers vous pour vous dire si elle fonctionne. Encore merci et bonne après-midi |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Tu peut simplifier en faisant un NTILE = 1
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#16 |
|
Invité de passage
![]() Pedro LitoInscription : janvier 2012 Messages : 4 ![]() |
Bonsoir à tous!
La requête est parfaite, merci à tous pour vos réponses rapides. Sur ce, bonne soirée. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com