sql >> Database teknologi >  >> RDS >> Mysql

Fjern gentagne data i en kolonne

Du kan opretholde en tilstand, mens du itererer, som holder styr på, om den nuværende række er et nyt navn/betalbar:

$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>';
}

Bemærk, at din MySQL-forespørgsel skal have en vis ORDER BY klausul, for at generere den ordre, du ønsker, f.eks.

ORDER BY Name, Product;

Som kommentarerne ovenfor også antyder, hvis du bruger en forældet PHP API, bør du overveje at opgradere til noget mere moderne. Men den logik, der blev brugt i ovenstående løkke, ville ikke ændre sig meget ved at ændre MySQL API.



  1. Yii Forenet tabel, men ikke alle valgte data hentes

  2. MySql - Problemer med at oprette visning

  3. PostgreSQL Performance - SELECT vs Stored funktion

  4. Sådan tilføjer du dage til en dato i T-SQL