私はこの例のようなMYSQLテーブルを持っています:
[ID]--[Date]--[UserID]--[Username]--[String]
1 12-10-06 02:35:01 25 Jack string1
2 12-10-06 02:38:01 25 Jack string2
3 12-10-06 02:40:01 25 Jack END
4 12-10-06 02:42:01 36 Jill string1
5 12-10-06 02:45:01 36 Jill string2
6 12-10-06 02:48:01 36 Jill END
7 12-10-06 02:50:01 25 Jack string1
8 12-10-06 02:52:01 25 Jack string2
9 12-10-06 02:55:01 25 Jack END
私はこれらをグループ化するためにこのMYSQLクエリを使用しています:
SELECT m1.Date, m1.Username, m1.UserID
FROM Username m1 LEFT JOIN Username m2
ON (m1.UserID = m2.UserID AND m1.ID < m2.ID)
WHERE m2.ID IS NULL
ORDER BY Date DESC
これは機能しますが、このクエリの問題は、各ユーザーの最後のエントリのみを出力として提供することです。
6 12-10-06 02:48:01 36 Jill
9 12-10-06 02:55:01 25 Jack
次のように、すべてのセッションを出力として取得したいと思います。
12-10-06 02:35:01 - 12-10-06 02:40:01 25 Jack
12-10-06 02:42:01 - 12-10-06 02:48:01 25 Jill
12-10-06 02:50:01 - 12-10-06 02:55:01 25 Jack
PHPとMYSQLでこれをどのように達成できますか?