Bonjour,

j'essaye depuis quelque temps de trouver une requête me permettant de sortir le taux d'occupation d'une plage horaire par des personnes.

Admettant le tableau suivant qui renseigne la présence de personne selon des horaires,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
-------------------------------------------------
|   Nom     | Heure_debut     |     Heure_Fin   |
-------------------------------------------------
|  Jean     |    15:30        |       15:45     |
|  Daniel   |    14:30        |       15:20     |
| Michel    |   15:05         |      15:35      |
| David     |   15:30         |      16:15      |
-------------------------------------------------
Je souhaite trouver un coefficient d'occupation en admettant que l'occupation d'une plage d'une heure pour une personne = 1

Si, pour le créneau 15:00 / 16:00, je fais une requête du style:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
count nom
where heure_debut =< '16:00' and
         heure_fin =>'15:00'
cela va me retourner 3
Mais en réalité la réponse est inexacte car aucune des 3 personnes n'a fait le créneau entier de 15h à 16h.

Si pour une personne, 1h = 1 :

pour le créneau 15:00 - 16:00, j'ai
Jean = 0,25 (15 minutes)
Daniel = 0,3333 (20 minutes)
Michel = 0,5 (30 minutes)
David = 0,5 (30 minutes)

Je me creuse la tête et fouine dans google et j'en passe pour trouver une requête qui me retourne la somme d'occupation de la plage horaire par les personnes (ici: 1,5833).

Je vous remercie d'avoir prie le temps de me lire.

Bonne journée.

Olivier.