表ではデータはタイムスタンプ形式ですが、time(start_at) と time(end_at) 形式で共有しています。
テーブル構造:
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
結果を得るには、start_at 時間と end_at 時間の間のアクティブな ID の数をカウントする必要があります。
時間、カウント 0、0 1、1 22 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
###または### リーリー ###または### リーリー
最初のクエリは時間の列を時刻形式で返しますが、2 番目のクエリはこの列を数値形式で返します。自分にとって安全なバリアントを選択してください。
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=5a77b6e3158be06c7a551cb7e64673de