php - 如何在 foreach 循环中对来自 mySQL 数据库的相似结果进行分组?

标签 php mysql loops pdo

<分区>

$pdo = $db->prepare('SELECT * FROM animals WHERE id = :id ');  
$pdo->execute(array('id' => $id));
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
     $name = $row["name"];
     echo $name."<br>";
}

我的循环结果现在是-

cat
cat
cat
cat
dog
bird

我想对相似的结果进行分组,所以我得到这样的结果-

cat
dog
bird

最佳答案

不同的方式:-

1. DISTINCT :-

$pdo = $db->prepare('SELECT DISTINCT name FROM animals WHERE id = :id ');

2。 GROUP BY :-

$pdo = $db->prepare('SELECT name FROM animals WHERE id = :id  GROUP BY name');

关于php - 如何在 foreach 循环中对来自 mySQL 数据库的相似结果进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44390058/

相关文章:

javascript - 如何在循环中循环此 javascript 代码

java - 怎么办不断要求用户输入正确的数字

mysql - 计算sql中所有对象连续几天的差值

php - 远程连接的 Mysql PDO 访问被拒绝,但 Mysql CLI 可以工作

homebrew - 停止 "php-fpm"( Homebrew 安装)Mac OSX 10.8.2

php - 使用ArrayObject存储数组

Python MySQLdb 变量作为表名

mysql - 哪个更快?插入还是更新?

C# for 循环 - 如何使用不同的变量运行循环体?

php - 我想编写一个使用 $_POST ['first_name ' ] 和 $_POST ['password ' ] 作为参数的函数