Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Grupowanie rekordów z pętli while | PHP

Jeśli masz pewność, że wyniki są uporządkowane według priorytetów, to coś tak trywialnego jak to:

$priority = null;
while($row = mysql_fetch_array($result))
{
    if( $row['priority'] != $priority )
    {
        echo '<h1>Priority Level: ' . $row['priority'] . '</h1>';
        $priority = $row['priority'];
    }
    echo $row['name'];
}

Innymi słowy, śledzisz aktualny poziom priorytetu w $priority zmienny. Następnie sprawdź, czy priorytet zmienił się w if stan :schorzenie. Jeśli tak, echo priorytet i ustaw bieżący priorytet na priorytet znaleziony w bieżącym wierszu.

Pamiętaj, że działa to zgodnie z oczekiwaniami (naprawdę zgrupowane raz), jeśli wiersze są uporządkowane według priorytetu. Innymi słowy, gdy różne priorytety nie są rozproszone w zestawie wyników.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawianie z MS SQL Server do bazy danych MySQL

  2. Wypełnij listę rozwijaną wyboru z tabeli bazy danych

  3. Żądanie MySQL do łączenia i wyszukiwania w 2 tabelach

  4. Uzyskaj pierwsze/ostatnie n rekordów na grupę według

  5. DATEDIFF() lub BETWEEN dla zakresów dat w zapytaniach SQL