Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Remover dados repetidos em uma coluna


Você pode manter algum estado durante a iteração, o que mantém o controle se a linha atual é um novo nome/pagável:
$last_name_seen = NULL;

while ($row = mysql_fetch_array($result)) {
    $firstname = "";
    $payable = "";
    if ($last_name_seen === NULL || $row['firstname'] != $last_name_seen) {
        $last_name_seen = $row['firstname'];
        $firstname = $row['firstname'];
        $payable = $row['payable'];
    }
    echo '<tr>';
    echo '<td style="border: 1px solid black;">'.$firstname.'</td>';
    echo '<td>'.$payable.'</td>';
    echo '<td>'.$row['product'].'</td>';
    echo '<td>'.$row['qty'].'</td>';
    echo '</tr>';
}

Observe que sua consulta MySQL deve ter algum ORDER BY cláusula, para gerar a ordenação desejada, por exemplo
ORDER BY Name, Product;

Como os comentários acima também sugerem, se você estiver usando uma API PHP obsoleta, considere atualizar para algo mais moderno. Mas, a lógica usada no loop acima não mudaria muito com a alteração da API do MySQL.