2 つの類似した結果 (最も古い結果) から最後の結果を取得しようとしています。
FromUser | ToUser | Message | Date
User1 | User2 | hi | 01/01/2013 20:00
User1 | User2 | hi later| 01/01/2013 21:00
User5 | User2 | hi | 01/01/2013 20:01
User5 | User2 | hi later| 01/01/2013 21:01
SELECT
CM.FromUser, CM.ToUser, CM.Message, CM.Date,
U.UserId, U.UserFullName, U.UserName, U.UserPhoto
FROM
ConversationMessages AS CM
INNER JOIN
Users AS U ON U.UserName = CM.FromUser
WHERE
CM.ToUser = @user
ORDER BY
CM.Date DESC
最初にユーザー 5 hi later をリストし、2 番目に user1 hi later をリストする必要があります (日付では user5 の方が新しいです)。基本的に最後の行のみがグループ化されFromUser
、すべて日付順に並べられます。私はSQLで役に立たず、ここで多くの提案を試みましたが、何も機能しませんでした