你好,我有一个这样的表
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-01,2013-07-03,2013-03-06 \ email@yahoo.com
答案 0 :(得分:1)
您可以使用GROUP_CONCAT
SELECT Name, GROUP_CONCAT(Date) Date, Email
FROM TableName
GROUP BY Name, Email
答案 1 :(得分:1)
在mysql中使用 GROUP_CONCAT ,你可以这样做,
这会通过名称和电子邮件
select name,email,GROUP_CONCAT(date) date from users group by name, email
答案 2 :(得分:0)
GROUP_CONCAT函数将一个组中的字符串连接成一个带有各种选项的字符串。
以下说明了GROUP_CONCAT函数:
1 2 3 GROUP_CONCAT(DISTINCT表达式 ORDER BY {column_name | usinged_integer |表达} SEPARATOR sep);