MySQL はリード関数を使用して日付から日付の終わりまでの期間を計算します
P粉885035114
P粉885035114 2024-03-28 14:43:36
0
1
470

さまざまなユーザー セッション (購読、購読解除、脱退、オンライン) の記録を保存するテーブルがあります。以下のクエリを使用して、各セッションの継続時間を計算できます。 シナリオがあります。ユーザーが「2022 年 5 月 15 日午後 11:00:00」にオンライン セッションを開始し、その後翌日「2022 年 5 月 16 日午後 2:00: 00」に退席したとします。 合計オンライン時間は 3 時間で、最終行の日付は 2022 年 5 月 15 日です。

でもこれが必要なんです 5月15日から「2022年5月15日23時59分59秒」までのオンライン時間は1時間、5月16日から「2022年5月16日0時0分:00秒から2022年5月16日02時00分」までは1時間です。 「:00 AM」、2 時間オンラインです。したがって、応答として、5 月 15 日の合計 3 時間ではなく、5 月 15 日の 1 時間と 5 月 16 日の 2 時間が返されるはずです。

リード関数を使用してcreated_at列から期間を取得していますが、次のcreated_atまでの期間を23:59:59まで計算するようにリード関数を制限する方法はありますか。

これは私の実際のクエリです。最新の MySQL(8) バージョンを使用しています。

リーリー

ここにサンプルデータをいくつか示します。

ああああ

P粉885035114
P粉885035114

全員に返信(1)
P粉481815897

動的カレンダーを使用してセッションを日ごとに分割する

リーリー

dbフィドル

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート