ErogameScapeは各ゲームごとに「プレイ時間中央値」があります。
「プレイ時間中央値」の値について、「そんな早く終わるはずがない!」というお声を見かけることがあります。
テキストを読む速度、プレイスタイルは人それぞれなので、しょうがないかな…と思います。
ただ、「多少はなんとかできるかな…」と思ってSQLを作ってみました。
以下のSQLは、ユーザーが実際に遊んだゲームの プレイ時間(total_play_time) ÷ プレイ時間中央値(total_play_time_median)の平均値(total_play_time_ratio_avg)を計算します。
total_play_time_ratio_avgを、やっていないゲームのプレイ時間中央値にかけ算すれば、素のプレイ時間中央値よりはマシかなあ…と思います。
SELECT
id,
gamename,
total_play_time_median,
user_total_play_time,
cast(user_total_play_time AS numeric) / total_play_time_median AS total_play_time_ratio,
AVG(user_total_play_time / total_play_time_median) OVER() AS total_play_time_ratio_avg
FROM
gamelist g
INNER JOIN
(
SELECT
game,
total_play_time AS user_total_play_time
FROM
userreview
WHERE
uid = 'ユーザーID'
AND play = true
AND total_play_time IS NOT NULL
) AS user_total_play_time
ON g.id = user_total_play_time.game
ORDER BY
furigana
;
SQLはSQL実行フォームで実行できます。