mySQL SELECT DISTINCT无效

时间:2017-12-28 21:59:11

标签: php mysql select

我已经尝试过并尝试过,但无法解决这个问题。我使用链式系列的选择菜单,从mySQL数据库中提取选项。链接都运行良好,一切都很好,除了我只想返回传输类型和燃料类型的不同值。

这是我当前的疑问:

<?php 
$conn = new mysqli('localhost', 'XXXXX', 'XXXXX', 'XXXXX')
or die('Cannot connect to db');

$result = $conn->query("select id, model_id, gearbox from derivatives ORDER BY gearbox ASC");

    echo '<select name="gearbox" id="gearbox">';
    echo '<option value="" selected>Please Choose ...</option>';

    while ($row = $result->fetch_assoc()) {
        $id = $row['id'];
        $modelid = $row['model_id'];
        $gearbox = $row['gearbox'];
        echo '<option class="'.$modelid.'">'.$gearbox.'</option>';
    };

    echo "</select>";
?>

输出以下选择菜单:

Automatic
Automatic
Automatic
Automatic
Automatic
Manual

我希望它只显示两个可用选项:

Automatic
Manual

非常感谢任何帮助。我尝试使用SELECT DISTINCT但没有快乐

1 个答案:

答案 0 :(得分:-1)

如果您只关心独特的变速箱值,您可以这样做:

SELECT DISTINCT gearbox from derivatives ORDER BY gearbox ASC

这不会为您提供idmodel_id字段,但由于您只想显示变速箱......

SELECT gearbox from derivatives GROUP BY gearbox也可以完成工作,您可以使用它返回其他聚合字段(例如,添加max(id)min(model_id))。