从数据库中获取由发件人分组的最后一封邮件的查询是什么?


What would be the query to get last mail grouped by the sender from Database

我只想打印出发件人的最后一封邮件。这是我的PHP代码,我需要使用这个

$resultmsg=mysql_query("SELECT * FROM mails WHERE  Recieve=$AID GROUP BY Sender DESC ORDER BY ID DESC LIMIT 5 ",$con);
                            while($rowmsg=mysql_fetch_array($resultmsg) )
    {
$authormsg=$rowmsg['Sender'];
$id=$rowmsg['ID'];
$date=$rowmsg['Date'];
$state=$rowmsg['State'];
$sqlnamea=mysql_query("SELECT * FROM users WHERE ID=$authormsg");
                            $datauthor=mysql_fetch_object($sqlnamea);
$authorname=$datauthor->Lname;
$authormsgpic=$datauthor->Profpic;
echo"
<li dir='rtl' style='border-bottom:1px solid silver;";
if($rowmsg['State']=='new')echo "border-right:2px solid #FFAEAF;";
 echo"' class='postedArticle' id='$id postedArticle' ><a href='sendmsg.php?from=".$authormsg."' style='float:right;' target=home><img style='float:right;max-width:40px;max-height:40px;margin-bottom:3px;' src='images/usrimgs/".$authormsgpic."' />&nbsp".$authorname."</a>&nbsp".$rowmsg["Content_text"]."";

将限制更改为1:

SELECT * FROM收件人=$AID GROUP BY Sender DESC ORDER BY ID DESC LIMIT 1

  SELECT x.* 
    FROM mails x
    JOIN
       ( SELECT sender,MAX(id) max_id FROM mails GROUP BY sender ) y
      ON y.sender = x.sender
     AND y.max_id = x.id;