2011-06-28 7 views
4

Je voudrais grouper un résultat de recherche par jours, mais malheureusement, la définition n'est pas un jour de minuit à minuit (00: 00-24: 00), mais à partir de 06:00 à 06:00.SQL: Grouper par "jours ouvrables"

Une solution simple? Si possible dans PL-SQL

Répondre

8

Il devrait être aussi simple que cela:

GROUP BY TRUNC(DATE - 6/24) 

- 6/24 soustraient 6 heures du datetime dans la colonne DATE et donc tout le temps entre 06h00 et 06h00 sera le même jour. TRUNC puis supprime la partie de temps car vous avez seulement besoin de la date.

+0

+1. Une solution comme celle ci-dessus dans laquelle vous sous-traiter 6 heures à partir de la date – niktrs

+0

hm. ok, nécessaire pour comprendre comment faire fonctionner la solution. Cela fonctionne pour moi: 'SELECT trunc (DATE-6/24), ID FROM TABLE GROUPE par trunc (DATE-6/24), ID' – rdmueller

+0

J'ai oublié le' TRUNC', vous avez raison. –

Questions connexes