0
SELECT TOP (100) PERCENT MsgCount.msgcount
, c.userid
, c.aspnet_guid
, c.fname
, c.lname
, c.profileimagepath
, c.profilealbumid
, p1.msgdate
, SUBSTRING(p1.msgcontent, 0, 50) AS msgcontent
, p1.msgtouser
FROM dbo.userprofile AS c
INNER JOIN dbo.usermessages AS p1
ON c.userid = p1.msgfromuser
LEFT OUTER JOIN dbo.usermessages AS p2
ON c.userid = p2.msgfromuser
AND (p1.msgdate < p2.msgdate
OR p1.msgdate = p2.msgdate
AND p1.msgid < p2.msgid)
LEFT OUTER JOIN
(
SELECT msgfromuser
, COUNT(msgfromuser) AS msgcount
FROM dbo.usermessages
GROUP BY msgfromuser
) AS MsgCount
ON MsgCount.msgfromuser = p1.msgfromuser
WHERE (p2.msgid IS NULL)
ORDER BY p2.msgdate DESC