Php 显示MySQL";分组方式;结果正确
我似乎无法正确显示此查询。代码如下:Php 显示MySQL";分组方式;结果正确,php,mysql,group-by,Php,Mysql,Group By,我似乎无法正确显示此查询。代码如下: $select_stats = "SELECT c.ResponderID , COUNT(MsgID) , a.SubscriberID , CanReceiveHTML , EmailAddress FROM InfResp_msglogs AS a , InfResp_subscribers AS b , InfResp_responders AS c WHERE b.CanReceiveHTML = 1 AND
$select_stats = "SELECT
c.ResponderID
, COUNT(MsgID)
, a.SubscriberID
, CanReceiveHTML
, EmailAddress
FROM InfResp_msglogs AS a
, InfResp_subscribers AS b
, InfResp_responders AS c
WHERE b.CanReceiveHTML = 1
AND c.owner='".$_SESSION['logged_user_id']."'
AND c.ResponderID = b.ResponderID
AND b.SubscriberID = a.SubscriberID
GROUP BY c.ResponderID";
//echo $select_result;
while($row = mysql_fetch_array($select_result))
{
$messages = $row['COUNT(MsgID)'];
$campaign = $row['ResponderID'];
$subscriber = $row['SubscriberID'];
$subscriber_email = $row['EmailAddress'];
echo "<br>Campaign = ". $campaign ."
<br>Sent emails count = ". $messages ."
<br>Subscriber Nr. = ". $subscriber ."
<br>Subscriber Email = ". $subscriber_email ."<br>";
}
由于db中的第10号活动和第11号活动有三个不同的订户(当然每个订户都有自己的电子邮件地址),我希望输出为:
Campaign = 10
Sent emails count = 109
Subscriber Nr. = 92
94
95
Subscriber Email = timothy@gmail.com
anthony@yahoo.com
josie@hotmail.com
Campaign = 11
Sent emails count = 16
Subscriber Nr. = 97
Subscriber Email = alan@yahoo.com
谢谢。您需要:
... SELECT c.ResponderID, COUNT(MsgID), a.SubscriberID, CanReceiveHTML,
group_concat(EmailAddress ORDER BY EmailAddress DESC SEPARATOR ' ') ...
您需要:
... SELECT c.ResponderID, COUNT(MsgID), a.SubscriberID, CanReceiveHTML,
group_concat(EmailAddress ORDER BY EmailAddress DESC SEPARATOR ' ') ...
但是要当心
group\u concat\u max\u len
但是要当心group\u concat\u max\u len