Bonjour à tous,
Je souhaiterai compter le nombre de ligne dans une table selon une date et une heure et afficher le résultat en incluant les heures ou il n'y a aucune transaction.
Voici un exemple :
Je cherche a obtenir un résultat du type :
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 WITH CALENDAR_MARCH AS ( SELECT '10/03' AS DAYS, '12H' AS HOURS FROM DUAL UNION ALL SELECT '10/03' , '12H' FROM DUAL UNION ALL SELECT '10/03' , '13H' FROM DUAL UNION ALL SELECT '10/03' , '14H' FROM DUAL UNION ALL SELECT '10/03' , '14H' FROM DUAL ), CT AS ( select DAYS, HOURS, ROW_NUMBER() over (partition by DAYS, HOURS order by DAYS ASC, HOURS ASC) nb_transactions from CALENDAR_MARCH ) select DAYS, HOURS, count(nb_transactions) from CT group by DAYS, HOURS order by DAYS ASC, HOURS ASC; le résultat me donne : DAYS HOURS COUNT(NB_TRANSACTIONS) 10/03 11H 1 10/03 12H 1 10/03 13H 1 10/03 14H 2
Des idées?
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 DAYS HOURS COUNT(NB_TRANSACTIONS) 10/03 00H 0 10/03 01H 0 10/03 02H 0 10/03 03H 0 10/03 04H 0 10/03 05H 0 ..etc 10/03 11H 1 10/03 12H 1 10/03 13H 1 10/03 14H 2 ..etc
J'ai cherché du coté du over partition by , des cases, mais je ne trouve rien qui me permettent d'obtenir un affichage souhaité...
Partager