IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

regroupement par intervalle de 24h


Sujet :

Langage SQL

  1. #1
    Membre actif Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Points : 296
    Points
    296
    Par défaut regroupement par intervalle de 24h
    salut à tous,

    je dispose de la table suivante représentant une liste d'activités de bâteaux de pêche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    codigo embarcation - materiau - date de départ - ....
    1                     bois         07/11/2006 02:00PM
    1                     bois         07/11/2006 06:00PM
    1                     bois         08/11/2006 03:00PM
    2                     fer           07/11/2006 07:00AM 
    2                     fer           07/11/2006 03:00PM
    maintenant ce que je souhaiterais faire, c'est comptabiliser le nombre de départ par materiau et par intervalle de 24h entre jour J a midi et J+1 a midi.

    ce qui donnerait pour l'exemple ci-dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Materiau - 06/11/2006 - 07/11/2006 - 08/11/2006...
    Bois         0                 2                 1
    Fer          1                 1                 0
    ceci dans le but de réaliser un graphique d'évolution temporelle du nombre de départ par type de bateau.

    pour info, je développe une appli Java de génération de graphiques (en utilisant JDBC/JFreeChart) à partir de données stockées sous Oracle 10g.
    du même coup, je vous laisse libre de critiquer mon choix d'architecture qui au final me semble un peu lourd : mise en forme des données sous Oracle, puis en Java traitement du Resultset, et enfin génération des graphiques avec JFreeChart...

    merci d'avance pour vos remarques

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 770
    Points : 52 723
    Points
    52 723
    Billets dans le blog
    5
    Par défaut
    il suffit de rajouter à votre modèle une table de période avec des occurences de 24h en 24 heures comme je l'ai décrit dans cet article :
    http://sqlpro.developpez.com/cours/gestiontemps/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Une autre solution serait de regrouper les enregistrements par date (jour et année) avec un décalage de 12 heures (car regroupement par jour commençant à midi).

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 39
    Points : 43
    Points
    43
    Par défaut
    Tu as la fonction datepart(dd,tadate) qui fonctionne pour grouper par jour.
    Mais pour commencer à midi, je ne vois pas comment faire...

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Lorsque tu formate une date :
    date_format(tadate,'année/mois/jour')
    Tu obtiens le jour d'une date commençant à 0 heure et terminant à minuit.

    Pour avoir le regroupement commançant à midi, il faut retirer 12 heures à la date :
    date_format(tadate -12 heures,'année/mois/jour')

    La fonction à utiliser four formater une date dépend du logiciel utilisé.

Discussions similaires

  1. Regrouper les données par intervalle
    Par jlegal dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 17/02/2012, 22h21
  2. requete regroupement par intervalle
    Par Msysteme dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/12/2009, 23h46
  3. Regroupement par intervalle < 5min
    Par prophete3d dans le forum Langage SQL
    Réponses: 12
    Dernier message: 06/09/2007, 13h55
  4. Requete de regroupement par intervalle
    Par tonio-lille dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 26/01/2007, 16h22
  5. regroupement par intervalle de 24h
    Par habasque dans le forum Oracle
    Réponses: 2
    Dernier message: 08/11/2006, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo