|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 34 ![]() |
Bonjour à tous, j'ai effectué une recherche sur le forum mais n'ai rien trouvé pour répondre à ma questionnement.
Comme je suis un peu pressé dans le temps pour trouver cette information je m'adresse à vous tous. J'aimerais ajouter un découpage en période de 15min à une db qui contient une colonne DATE (format datetime). J'ai essayé différents moyens mais je n'arrive pas à ce que je veux. L'objectif est de regouper les transactions par type par période de 15 min par jour en référençant une nouvelle colonne (15min) Exemple de table désiré: TRX_ID (INT) | EVT_NMTRX (VRCHAR) | CLIENT_MAIL (VARCHAR)| DATE ( DATETIME) | Qt | 15min (HH:MM:SS) 0001234567 | Achat - Catalogue web | roger_rabbit2@lapin.com | 08-08-18 10:36:15 | 21 | 10:30:00 0001234568 | Achat - Magasin E-bay | fardoche_1@fermier.com | 08-08-18 10:47:19 | 36 | 10:45:00 J'ai découpé mes date en format Date à l'aide d'un CAST que j'insère dans une colonne Jour. Mais je bloque au découpage en période de 15min. J'aimerais avoir une colonne comme l'exemple 15min, qui me permettrait de faire mes regroupement au 15 min. Est-ce que quelqu'un peut m'éclairer svp?
|
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
La réponse dépend de la version de SQL Server que vous utilisez : si vous êtes sous SQL Server 2008, on peut utiliser le type de données time. Si vous êtes sous une version antécédente, il faut faire autre chose. Quel est le but de la manœuvre ? @++
__________________
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
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 34 ![]() |
SQL Server 2008.
Le but étant de regrouper mes pics de transactions dans une plage de 15min. C'est à dire prendre toute les transactions entres 10:30 et 10:45; 10:45 et 11:00, etc. et ce sur une période de 24. Je veux ce découpage pour permettre la génération d'un rapport qui sera extrait par un getionnaire qui ne veut avoir rien d'autre à faire qu'ouvrir un fichier Excel. Je connecterais donc un classeur à cette table et il pourra manipuler le TcD comme il le veut en voyant les pics de transaction par période de 15min par jour. |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : novembre 2008 Messages : 34 ![]() |
J'ai réglé mon problème en trois temps. Premièrement, j'ai convaincu le gestionnaire de découper en 10 minutes au lieu de 15
. Ensuite j'ai créer une colonne dans laquelle j'inscris la conversion de ma colonne Date au format TIME LEFT(CONVERT(TIME,DATE,0),5) AS [Heure] Une fois cette opération fait j'obtiens l'heure. Enfin je créer une petite vue qui ajoute une autre colonne qui découpe au 10 minutes. LEFT(CONVERT(TIME, a.Heure), 4) + '0' AS [PERIODE] En retirant la dernière minute pour la remplacer par 0 je règle la question. Pour obtenir les pics j'exécute un classeur Excel qui comporte une requête qui fait un SELECT DISCTINCT EVT_NMTRX, CLIENT_MAIL, DATE, PERIODE, COUNT(PERIODE) AS PEAK J'ai donc tout ce qui me faut pour interpréter les pics de transactions et en lui ajoutant des beaux segments dans le classeur il peut découper le tout par type de transactions. ![]() Ma seule peur maintenant c'est qu'au fil du temps la bd va grossir et la vue va être longue à traiter On verra rendu là à moins que quelqu'un aie une solution plus effiace. En ce moment pour traiter 3millions de lignes j'ai un temps réponse de 15sec. Bonne journée Merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com