Bonjour à tous,
mon problème n'est pas simple à expliquer. je cherche à faire une requete du genre:
en fait, pour chaque jour de la colonne 'date', je veux le nombre d'id correspondant ainsi que le nombre d'id dont la différence entre la colonne 'date' et la colonne 'date2' est inférieure ou égale à 1 jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select trunc(date), count(id), (select count(t2.id) from table t2 where trunc(t1.date)=trunc(t2.date) and (date-date2<=1)) from table t1 group by trunc(date) order by 1 desc;
Les dates sont au format 'AAAA/MM/JJ hh/mm/ss' d'où le trunc pour avoir le résultat en jour.
Le problème avec la requête en dessous c'est le "trunc(t1.date)" du 2ème select car "ce n'est pas une expression GROUP BY", et t1.(trunc(date)) ne marche évidemment pas.
J'ai essayé de nommer le trunc(date) du premier select mais ça ne va pas non plus.
Précision : je travaille sous oracle
Je reste bloqué sur cette idée pour avoir le résultat attendu, mais si vous avez une toute autre solution, n'hésitez pas à m'en faire part.
Merci beaucoup
Vinz
Partager