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

SQL Oracle Discussion :

Obtenir le nombre de lignes par tranche horaire


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 18
    Par défaut Obtenir le nombre de lignes par tranche horaire
    Bonjour,

    J'explique mon problème : je dois calculer les nombre de mails envoyé par tranche horaire d'une heure, entre 2 dates.

    J'ai une tables de "logs" dans laquelle j'ai l'id du mailing et la date heure d'envoi du mail. Ce que je voudrais c'est, par id mail, le nombre de ligne par heure, entre la date de début de mailing et la date de fin (ces dates seront obtnues via les fonctions MAX et MIN).

    Exemple : J'ai un mailing dont l'identifiant est M01. Le premier mail a été envoyé le 05/05/2014 18:09:10 et le dernier le 06/05/2014 04:33:06. Je souhaite avoir le tableau suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Id mailing	Date Debut	Date Fin 	Date	Tranche horaire	Nb ligne
    M01	05/05/2014 18:09:10	06/05/2014 04:33:06	05/05/2014	18:00 - 19:00	3
    M01	05/05/2014 15:09:10	06/05/2014 04:33:06	05/05/2014	19:00 - 20:00	6
    M01	05/05/2014 15:09:10	06/05/2014 04:33:06	05/05/2014	20:00 - 21:00	15
    M01	05/05/2014 15:09:10	06/05/2014 04:33:06	05/05/2014	21:00 - 22:00	20
    M01	05/05/2014 15:09:10	06/05/2014 04:33:06	05/05/2014	22:00 - 23:00	3
    M01	05/05/2014 15:09:10	06/05/2014 04:33:06	05/05/2014	23:00 - 00:00	0
    M01	05/05/2014 15:09:10	06/05/2014 04:33:06	06/05/2014	00:00 - 01:00	0
    M01	05/05/2014 15:09:11	06/05/2014 04:33:06	06/05/2014	01:00 - 02:00	0
    M01	05/05/2014 15:09:12	06/05/2014 04:33:06	06/05/2014	02:00 - 03:00	4
    M01	05/05/2014 15:09:13	06/05/2014 04:33:06	06/05/2014	03:00 - 04:00	5
    M01	05/05/2014 15:09:14	06/05/2014 04:33:06	06/05/2014	04:00 - 05:00	16
    Quequ'un a t-il une idée de la requête à écrire pour obtenir ce résultat ou pour s'en approcher ?

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Fournissez un jeu d'essai (ordres SQL de création des tables et insertion des données) ainsi que la requête que vous avez déjà essayée.

  3. #3
    Membre averti
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 18
    Par défaut
    Voici la commande SQL pour la création de la table source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE MAILING
    (
      ENVELOPEID       NUMBER(19)                   NOT NULL,
      CONTAINERID      NUMBER(19)                   NOT NULL,
      CONTACTDATETIME  TIMESTAMP(6)
    )
    Et le requête d'insertion des données en en pièce jointe.RequInsert.txt

    Pour l'instant je n'ai pas de requête à proposer.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Dans votre fichier il manque les ; ou les / après chaque instruction.
    Maintenant par rapport à cette table et à ces données expliquez-nous votre problème: qui est id mailing: envelopeid ou container_id ?

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Pas sûr que ce soit exactement le besoin (j'ai un peu extrapolé par rapport à votre 1er message qui ne correspond pas aux données du jeu de test) , mais voici une piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    SQL>   with tranche as (
      2  select lpad(rownum - 1,2,'00') ||':00 - '|| lpad(mod(rownum,24),2,'00') ||':00' as heure
      3    from dual
      4  connect by level <= 24
      5  ),
      6         containerid_min_max as (
      7  select CONTAINERID
      8       , min(CONTACTDATETIME) as min_date
      9       , max(CONTACTDATETIME) as max_date
     10    from mailing
     11   where CONTAINERID in (378, 380, 377) /*filtre à supprimer ou modifier pour traiter plus ou moins de CONTAINERID */
     12   group by CONTAINERID
     13  ),
     14         liste_jour as (
     15  select CONTAINERID, min_date, max_date
     16       , to_char(min_date,'yyyymmdd') + row_number() over (partition by CONTAINERID order by 1) - 1 as jour
     17       , to_char(min_date,'yyyymmdd') as date_deb
     18       , to_char(min_date, 'hh24') || ':00 - ' || lpad(to_number(to_char(min_date, 'hh24')) + 1, 2, '00') || ':00' as tranche_date_deb
     19       , to_char(max_date,'yyyymmdd') as date_fin
     20       , to_char(max_date, 'hh24') || ':00 - ' || lpad(to_number(to_char(max_date, 'hh24')) + 1, 2, '00') || ':00' as tranche_date_fin
     21    from containerid_min_max cmm
     22  connect by level <= max_date - min_date +1
     23      AND PRIOR CONTAINERID = CONTAINERID
     24      AND prior sys_guid() IS NOT NULL
     25  ),
     26         toute_tranche_liste_jour as (
     27  select lj.*, t.*, lj.jour ||' '|| t.heure as jour_heure
     28    from liste_jour lj
     29    join tranche t
     30      on lj.jour || t.heure >= lj.date_deb || lj.tranche_date_deb
     31     and lj.jour || t.heure <= lj.date_fin || lj.tranche_date_fin
     32  )
     33  select ttlj.CONTAINERID
     34       , ttlj.min_date                  as debut
     35       , ttlj.max_date                  as fin
     36       , ttlj.jour_heure           as tranche_horraire
     37       , count(m.CONTACTDATETIME)  as nb
     38    from toute_tranche_liste_jour ttlj
     39    left join MAILING m
     40      on m.CONTAINERID = ttlj.CONTAINERID
     41     and to_char(m.CONTACTDATETIME, 'yyyymmdd')||' '||
     42         to_char(m.CONTACTDATETIME, 'hh24') || ':00 - ' ||
     43         lpad(to_number(to_char(m.CONTACTDATETIME, 'hh24')) + 1, 2, '00') || ':00' = ttlj.jour_heure
     44   group by ttlj.CONTAINERID, ttlj.min_date, ttlj.max_date, ttlj.jour_heure
     45   order by ttlj.CONTAINERID, ttlj.jour_heure;
     
    CONTAINERID DEBUT               FIN                 TRANCHE_HORRAIRE                  NB
    ----------- ------------------- ------------------- ------------------------- ----------
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 17:00 - 18:00             9
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 18:00 - 19:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 19:00 - 20:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 20:00 - 21:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 21:00 - 22:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 22:00 - 23:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 23:00 - 00:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 00:00 - 01:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 01:00 - 02:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 02:00 - 03:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 03:00 - 04:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 04:00 - 05:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 05:00 - 06:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 06:00 - 07:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 07:00 - 08:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 08:00 - 09:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 09:00 - 10:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 10:00 - 11:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 11:00 - 12:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 12:00 - 13:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 13:00 - 14:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 14:00 - 15:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 15:00 - 16:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 16:00 - 17:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 17:00 - 18:00             4
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 09:00 - 10:00             3
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 10:00 - 11:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 11:00 - 12:00             1
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 12:00 - 13:00             1
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 13:00 - 14:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 14:00 - 15:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 15:00 - 16:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 16:00 - 17:00             2
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 17:00 - 18:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 18:00 - 19:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 19:00 - 20:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 20:00 - 21:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 21:00 - 22:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 22:00 - 23:00             1
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 23:00 - 00:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 00:00 - 01:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 01:00 - 02:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 02:00 - 03:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 03:00 - 04:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 04:00 - 05:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 05:00 - 06:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 06:00 - 07:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 07:00 - 08:00             3
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 08:00 - 09:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 09:00 - 10:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 10:00 - 11:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 11:00 - 12:00             2
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 13:00 - 14:00             8
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 14:00 - 15:00             0
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 15:00 - 16:00             2
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 16:00 - 17:00             0
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 17:00 - 18:00             0
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 18:00 - 19:00             1
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 19:00 - 20:00             2
     
    59 rows selected.
     
    SQL>

  6. #6
    Membre averti
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 18
    Par défaut
    Le CONTAINERID est l'id du mailing. ENVELOPEID correspond à l'id de la ligne.

    Ci-joint le fichier d'insertion corrigé avec les ; en fin d'instruction.
    RequInsert.txt

  7. #7
    Membre averti
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 18
    Par défaut
    Citation Envoyé par skuatamad Voir le message
    Pas sûr que ce soit exactement le besoin (j'ai un peu extrapolé par rapport à votre 1er message qui ne correspond pas aux données du jeu de test) , mais voici une piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    SQL>   with tranche as (
      2  select lpad(rownum - 1,2,'00') ||':00 - '|| lpad(mod(rownum,24),2,'00') ||':00' as heure
      3    from dual
      4  connect by level <= 24
      5  ),
      6         containerid_min_max as (
      7  select CONTAINERID
      8       , min(CONTACTDATETIME) as min_date
      9       , max(CONTACTDATETIME) as max_date
     10    from mailing
     11   where CONTAINERID in (378, 380, 377) /*filtre à supprimer ou modifier pour traiter plus ou moins de CONTAINERID */
     12   group by CONTAINERID
     13  ),
     14         liste_jour as (
     15  select CONTAINERID, min_date, max_date
     16       , to_char(min_date,'yyyymmdd') + row_number() over (partition by CONTAINERID order by 1) - 1 as jour
     17       , to_char(min_date,'yyyymmdd') as date_deb
     18       , to_char(min_date, 'hh24') || ':00 - ' || lpad(to_number(to_char(min_date, 'hh24')) + 1, 2, '00') || ':00' as tranche_date_deb
     19       , to_char(max_date,'yyyymmdd') as date_fin
     20       , to_char(max_date, 'hh24') || ':00 - ' || lpad(to_number(to_char(max_date, 'hh24')) + 1, 2, '00') || ':00' as tranche_date_fin
     21    from containerid_min_max cmm
     22  connect by level <= max_date - min_date +1
     23      AND PRIOR CONTAINERID = CONTAINERID
     24      AND prior sys_guid() IS NOT NULL
     25  ),
     26         toute_tranche_liste_jour as (
     27  select lj.*, t.*, lj.jour ||' '|| t.heure as jour_heure
     28    from liste_jour lj
     29    join tranche t
     30      on lj.jour || t.heure >= lj.date_deb || lj.tranche_date_deb
     31     and lj.jour || t.heure <= lj.date_fin || lj.tranche_date_fin
     32  )
     33  select ttlj.CONTAINERID
     34       , ttlj.min_date                  as debut
     35       , ttlj.max_date                  as fin
     36       , ttlj.jour_heure           as tranche_horraire
     37       , count(m.CONTACTDATETIME)  as nb
     38    from toute_tranche_liste_jour ttlj
     39    left join MAILING m
     40      on m.CONTAINERID = ttlj.CONTAINERID
     41     and to_char(m.CONTACTDATETIME, 'yyyymmdd')||' '||
     42         to_char(m.CONTACTDATETIME, 'hh24') || ':00 - ' ||
     43         lpad(to_number(to_char(m.CONTACTDATETIME, 'hh24')) + 1, 2, '00') || ':00' = ttlj.jour_heure
     44   group by ttlj.CONTAINERID, ttlj.min_date, ttlj.max_date, ttlj.jour_heure
     45   order by ttlj.CONTAINERID, ttlj.jour_heure;
     
    CONTAINERID DEBUT               FIN                 TRANCHE_HORRAIRE                  NB
    ----------- ------------------- ------------------- ------------------------- ----------
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 17:00 - 18:00             9
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 18:00 - 19:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 19:00 - 20:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 20:00 - 21:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 21:00 - 22:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 22:00 - 23:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131217 23:00 - 00:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 00:00 - 01:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 01:00 - 02:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 02:00 - 03:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 03:00 - 04:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 04:00 - 05:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 05:00 - 06:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 06:00 - 07:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 07:00 - 08:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 08:00 - 09:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 09:00 - 10:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 10:00 - 11:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 11:00 - 12:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 12:00 - 13:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 13:00 - 14:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 14:00 - 15:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 15:00 - 16:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 16:00 - 17:00             0
            377 17/12/2013 17:14:54 18/12/2013 17:14:54 20131218 17:00 - 18:00             4
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 09:00 - 10:00             3
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 10:00 - 11:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 11:00 - 12:00             1
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 12:00 - 13:00             1
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 13:00 - 14:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 14:00 - 15:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 15:00 - 16:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 16:00 - 17:00             2
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 17:00 - 18:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 18:00 - 19:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 19:00 - 20:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 20:00 - 21:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 21:00 - 22:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 22:00 - 23:00             1
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140206 23:00 - 00:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 00:00 - 01:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 01:00 - 02:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 02:00 - 03:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 03:00 - 04:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 04:00 - 05:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 05:00 - 06:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 06:00 - 07:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 07:00 - 08:00             3
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 08:00 - 09:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 09:00 - 10:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 10:00 - 11:00             0
            378 06/02/2014 09:45:07 07/02/2014 11:45:08 20140207 11:00 - 12:00             2
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 13:00 - 14:00             8
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 14:00 - 15:00             0
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 15:00 - 16:00             2
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 16:00 - 17:00             0
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 17:00 - 18:00             0
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 18:00 - 19:00             1
            380 13/05/2014 13:01:05 13/05/2014 19:01:05 20140513 19:00 - 20:00             2
     
    59 rows selected.
     
    SQL>
    Tout d'abords, merci pour cette requête.
    Par contre, quand je l'exécute, j'ai le message d'erreur suivant : ORA-30081: invalid data type for datetime/interval arithmetic.

    J'ai copier/colle la requête et j'ai uniquement changer le nom de la table MAILING qui se nomme UCC_ENVELOPPE chez moi.

  8. #8
    Membre averti
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 18
    Par défaut
    Citation Envoyé par all06 Voir le message
    Tout d'abords, merci pour cette requête.
    Par contre, quand je l'exécute, j'ai le message d'erreur suivant : ORA-30081: invalid data type for datetime/interval arithmetic.
    C'est j'ai trouvé d'où vient l'erreur.

    Est ce que vous pouvez m'expliquer à quoi sert cette partie de la requête ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       connect BY level <= max_date - min_date +1
           AND PRIOR CONTAINERID = CONTAINERID
           AND prior sys_guid() IS NOT NULL

Discussions similaires

  1. [Vb.Net] Comment obtenir le nombre de ligne(s) d'un DataGrid ?
    Par dinbougre dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/12/2007, 12h25
  2. Nombre de ligne par défaut sur un Picklist
    Par ranandria dans le forum Delphi
    Réponses: 1
    Dernier message: 02/04/2007, 13h50
  3. [Conception] gérer le nombre de lignes par page
    Par john.dbc dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/08/2006, 20h20
  4. Récupérer des enregistrements par tranche horaire
    Par olive_le_malin dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 19/05/2006, 16h53
  5. Obtenir le nombre de lignes dans un RecordSet
    Par LapinGarou dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 15h51

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