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

Développement SQL Server Discussion :

Problème de LEAD - LAG (datetime overlap)


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Par défaut Problème de LEAD - LAG (datetime overlap)
    Bonjour j'ai une problématique que je n'arrive pas à résoudre. Je pense que les notions de LEAD et LAG pourrait être utiles pour cela mais je ne trouve pas la solution.
    J'ai une table avec ces entrées :
    Nom : Capture.PNG
Affichages : 164
Taille : 10,6 Ko

    Je voudrais en sortie :

    Nom : Capture2.PNG
Affichages : 148
Taille : 6,0 Ko

    La clé est la combinaison ip,mac.
    Pour chaque combinaison je veux le plus petit start_datetime et le plus grand stop_datetime.
    A condition qu'il n'y ait pas un écart de plus de 2 secondes entre un stop_datetime et son prédécéceur dans le temps (d'où l'intérêt du LAG).
    (Si j'ai un écart de 2 secondes ou moins c'est un log inutile, superflu).

    En terme de volumétrie, la table contient environ 80 millions de lignes ! Je dois pouvoir faire le calcul chaque jour .

    Quelqu'un aurait une piste?

    Merci d'avance !

  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
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    1) rajoutez une colonne calculée persistante qui ajoute vos 2 secondes à tous les "stop_datetime"
    2) utilisez une des requêtes de calcul d'agrégat temporaire que je décrit dans l'article que j'ai consacré à ce sujet : http://blog.developpez.com/sqlpro/p9...alles_en_sql_1 en utilisant cette nouvelle colonne pour que le recoupement se fasse.

    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é
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Par défaut
    Merci pour le tuyau,
    J'ai contourné mon problème, mais j'y jetterai tout de même un œil. C'est intéressant . Merci

Discussions similaires

  1. [PRO*C] probléme avec la fonction Lead | Lag
    Par Sixclopes dans le forum Interfaces de programmation
    Réponses: 1
    Dernier message: 28/05/2010, 11h52
  2. Problème avec le contrôle Datetime de wss
    Par mimosa803 dans le forum SharePoint
    Réponses: 0
    Dernier message: 16/04/2008, 11h01
  3. Probléme avec un champ DateTime
    Par zghidi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/08/2007, 11h54
  4. Probléme de conversion en datetime
    Par locs dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 27/02/2007, 00h24
  5. [C#2] Problème sur soustraction de DateTime
    Par Mattk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/07/2006, 19h28

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