これは私のデータベースレイアウトです:
- ID(int-一意の主キー
name
user(int)-列で検索するユーザーの外部キー- starttime(タイムスタンプ)-セッション開始時間
- endtime(タイムスタンプ)-セッション終了時間
- idletime(int)-アイドル時間(分単位)
たとえば、特定のプレーヤーがオンラインで何分だったか知りたいです。
次のクエリは正常に機能します。約3443分かかります。
SELECT user,
SUM(TIMESTAMPDIFF(MINUTE,starttime,endtime)-idletime)
FROM gc_sessions
WHERE user = 139
しかし、結合でこれを実行したい場合は、次のクエリを使用して8を取得します。
SELECT name,
SUM(TIMESTAMPDIFF(MINUTE,starttime,endtime)-idletime)
FROM gc_sessions
JOIN gc_users ON gc_user.id = gc_sessions.id
WHERE name LIKE "variell"
私のクエリの何が問題になっていますか?