|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 1 111 ![]() |
Bonjour,
J'ai des données (beaucoup) avec un champ datetime. Je souhaiterais regrouper mes données par 1/2 heure (ou 1/4 heure). Je travaille sur SQL Server 2008. Comment puis-je m'y prendre ? Merci.
__________________
[Access] Les bases du débogage => ici |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
Créez une table de chronodatage au pas voulu.
Faites une jointure externe droite avec cette table Groupez par la chronodatation. 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
|
|
|
#3 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 1 111 ![]() |
Merci pour la réponse
SI je comprends bien, une table avec une colonne dans laquelle je retrouve mes 1/2 heures ou 1/4 heures : 05:00:00 05:30:00 06:00:00 06:15:00 06:30:00 Là, j'ai plus de mal... Mes données sont du genre : 17:12:45 14:33:53 06:01:21 Comment puis-je faire ma jointure ? Ça, ça ne devrait pas poser de problème.
__________________
[Access] Les bases du débogage => ici |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Vous pouvez vous inspirer de ceci :
Code sql :
pour les dates de la CTE, spécifiez les bornes de debut et fin correctes (en allant les chercher dans votre table source par exemple...) |
||
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 1 111 ![]() |
Au temps pour moi, j'avais pas pensé à la jointure
Code :
![]() Merci.
__________________
[Access] Les bases du débogage => ici |
||
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
Il vaut mieux créer la table en dur que la faire par récursion via CTE;.. Notre thaïlandais ayant tendance à faire trop de requêtes récursives....
Sans doute l'influence de boudha, des sourires des thaïlandaises et de la cuisine trop épicée !!! 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
|
|
|
#7 | ||||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
Alors là je ne vois vraiment pas de qui tu veux parler ...
Trop de requêtes récursives ... bon OK, c'est vrai, j'ai usé et même abusé des CTE, mais c'est tellement pratique ... Bon par contre la récursivité j'en suis revenu, et j'aurai préconisé la même solution que celle que tu as proposée, en me basant sur mon article sur la table de dates Pour faire brutal j'aurai donc peuplé une table avec la requête utilisant une CTE récursive (peux pas m'en passer, désolé) ou bien une requête WHILE ... La suite : Code :
Code :
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||||
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 1 111 ![]() |
J'ai effectivement créé une table de période avec HeureDebut et HeureFin pour subdiviser la journée.
Avec une interface pour que l'utilisateur puisse gérer ses périodes comme il l'entend (période de 1h en début de journée, 1/2 heure dans la matinée, 1/4 heure ensuite ...), ça va nickel.
__________________
[Access] Les bases du débogage => ici |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com