Php Sql显示结果为1行,而不是重复
你好,我有一张这样的桌子Php Sql显示结果为1行,而不是重复,php,mysql,pdo,Php,Mysql,Pdo,你好,我有一张这样的桌子 Name | Date | Email ------+------------+------ Dima | 2013-04-01 | email@yahoo.com Dima | 2013-07-03 | email@yahoo.com Dima | 2013-03-06 | email@yahoo.com Andrei| 2013-01-28 | testemail@yahoo.com Andrei| 2013-01-12 | testemail@
Name | Date | Email
------+------------+------
Dima | 2013-04-01 | email@yahoo.com
Dima | 2013-07-03 | email@yahoo.com
Dima | 2013-03-06 | email@yahoo.com
Andrei| 2013-01-28 | testemail@yahoo.com
Andrei| 2013-01-12 | testemail@yahoo.com
echo'<table>';
$stmt = $dbh->prepare("SELECT * FROM Users");
$stmt->execute();
while ($row = $stmt->fetch())
{
$name=$row['Name'];
$date=$row['Date'];
$email=$row['Email'];
<tr>
<td>'.$name.'</td>
<td>'.$date.'</td>
<td>'.$email.'</td>
</tr>
}
echo'</table>';
此查询将显示数据库中的确切表,我希望显示与Dima相关的所有信息,例如一行
Dima\2013-04-012013-07-032013-03-06\email@yahoo.com您可以使用GROUP\u CONCAT
在mysql中使用GROUP_CONCAT可以做到这一点,
这将按名称和电子邮件将所有日期分组到一个列组中
GROUP_CONCAT函数使用各种选项将组中的字符串连接成一个字符串 以下说明了GROUP_CONCAT功能: 一, 2. 3. 组_CONCATDISTINCT表达式 按{column_name | usinged_integer | expression}排序 分离器
SELECT Name, GROUP_CONCAT(Date) Date, Email
FROM TableName
GROUP BY Name, Email
select name,email,GROUP_CONCAT(date) date from users group by name, email