Mysql
 sql >> база данни >  >> RDS >> Mysql

Премахване на повтарящи се данни в колона

Можете да поддържате някакво състояние, докато итерирате, което следи дали текущият ред е ново име/платим:

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

Имайте предвид, че вашата MySQL заявка трябва да има някакъв ORDER BY клауза, за да генерирате подреждането, което искате, напр.

ORDER BY Name, Product;

Както предполагат и коментарите по-горе, ако използвате остарял PHP API, трябва да помислите за надграждане до нещо по-модерно. Но логиката, използвана в горния цикъл, няма да се промени много с промяната на MySQL API.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql изберете записи, по-големи от 3 месеца

  2. Заявка Изберете група по последен знак в полето

  3. Как да изпращате имейл от MySQL 5.1

  4. Laravel Eloquent избира всички редове с max created_at

  5. Как да задам избрания елемент в падащо меню