按不显示所有结果分组
group by not showing all results
所以我有一个 table 叫做“手表”
然后我有 3 列这样
id | manufacture | model
1 rolex 2483
2 rolex 3940
3 rolex 4940
4 dent ee30
但我希望输出像
rolex
dent
但是当我尝试以下 select 制造商时
('SELECT manufacture FROM `watches` GROUP BY manufacture')
目前它只显示“dent”,而它应该是“rolex, dent”。怎么就不行了。 iv 也尝试过这个,但这给出了相同的结果
('SELECT DISTINCT(`manufacture`) FROM `watches`')
全功能
$query = $this->pdo->prepare('SELECT DISTINCT(`manufacture`) FROM `watches`');
$query->execute();
if($query->fetch()){
$row = $query->fetchAll();
foreach ($row as $i) {
$select .= '<option value="'.$i['manufacture'].'">'.$i['manufacture'].'</option>';
}
return $select;
} else {
return '<option value="0">No watches yet!</option>';
}
添加 WHERE 1
'SELECT `manufacture` FROM `watches`WHERE 1 GROUP BY `manufacture`
始终使用重音符号将 table 和列名称括起来是一种很好的做法。
您只需要按制造商订购:
SELECT manufacture FROM `watches` GROUP BY manufacture ORDER BY manufacture desc
请尝试使用
if ($query->rowCount() > 0) {
而不是
if($query->fetch()){
因为 fetch
从语句中获取结果,但为此您在后续代码中使用 fetchAll
。
所以我有一个 table 叫做“手表”
然后我有 3 列这样
id | manufacture | model
1 rolex 2483
2 rolex 3940
3 rolex 4940
4 dent ee30
但我希望输出像
rolex
dent
但是当我尝试以下 select 制造商时
('SELECT manufacture FROM `watches` GROUP BY manufacture')
目前它只显示“dent”,而它应该是“rolex, dent”。怎么就不行了。 iv 也尝试过这个,但这给出了相同的结果
('SELECT DISTINCT(`manufacture`) FROM `watches`')
全功能
$query = $this->pdo->prepare('SELECT DISTINCT(`manufacture`) FROM `watches`');
$query->execute();
if($query->fetch()){
$row = $query->fetchAll();
foreach ($row as $i) {
$select .= '<option value="'.$i['manufacture'].'">'.$i['manufacture'].'</option>';
}
return $select;
} else {
return '<option value="0">No watches yet!</option>';
}
添加 WHERE 1
'SELECT `manufacture` FROM `watches`WHERE 1 GROUP BY `manufacture`
始终使用重音符号将 table 和列名称括起来是一种很好的做法。
您只需要按制造商订购:
SELECT manufacture FROM `watches` GROUP BY manufacture ORDER BY manufacture desc
请尝试使用
if ($query->rowCount() > 0) {
而不是
if($query->fetch()){
因为 fetch
从语句中获取结果,但为此您在后续代码中使用 fetchAll
。