mysqlデータベースに次のテーブルがあります。
user_id| department | comment_time
-----------------------------------------
ahnaf | OM1 | 2018-02-01 10:00:00
muttaki| OM2 | 2018-02-01 11:00:00
sunny | OM3 | 2018-02-01 12:00:00
ahnaf | OM1 | 2018-02-01 21:00:00
john | OM2 | 2018-02-01 23:00:00
この表から、部門の誰かがコメントする頻度を知りたいと思います。私は次のような答えを探しています:OM1の人は平均して5分ごとにコメントします。
そのためのクエリを書く方法がわかりません。
合計スパンを取得し、コメントの数より1少ない数で割ることにより、コメント間の平均間隔を取得できます。
select department,
( ( to_seconds(max(comment_time)) - to_seconds(min(comment_time))
) / nullif(count(*) - 1, 0)
) / 60 as avg_comment_in_minutes
from t
group by department;
コメントが最新であることがわかっていて、最新のコメント以降のスパンを処理する場合は、次の操作を実行できます。
select department,
( ( to_seconds(now()) - to_seconds(min(comment_time))
) / count(*)
) / 60 as avg_comment_in_minutes
from t
group by department;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加