Comptage horaire basé sur les données d'heure de début et d'heure de fin
P粉283559033
2023-08-30 15:53:41
<p>Dans le tableau, les données sont au format horodatage mais je les partage au format time(start_at) et time(end_at). </p>
<p>Structure du tableau :</p>
<pre class="brush:php;toolbar:false;">id, start_at, end_at
1, 03:00:00, 06:00:00
2, 02:00:00, 05:00:00
3, 01:00:00, 08:00:00
4, 08:00:00, 13:00:00
5, 09:00:00, 21:00:00
6, 13:00:00, 16:00:00
6, 15:00:00, 19:00:00</pré>
<p>Pour le résultat, nous devons compter le nombre d'identifiants actifs entre les heures start_at et end_at. </p>
<pre class="brush:php;toolbar:false;">heures, nombre
0, 0
1, 1
vingt-deux
3, 3
4, 3
5, 2
6, 1
7, 1
8,1
9, 2
10, 2
11, 2
12, 2
13, 3
14, 2
15, 3
16, 2
17, 2
18, 2
19,1
20,1
21,0
22,0
23, 0≪/pré>≪/p>
ou
ou
La première requête renvoie la colonne heure au format heure, tandis que la deuxième requête renvoie cette colonne sous forme numérique. Choisissez la variante qui est sûre pour vous.
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=5a77b6e3158be06c7a551cb7e64673de