sql >> Database >  >> RDS >> Mysql

MySQL GROUP door of met PHP?

Het lijkt eenvoudiger om geen GROUP BY . te gebruiken vooral omdat het u niet de gegevens zal geven die u wilt. Dus selecteer ze in plaats daarvan allemaal en sorteer ze op provider en misschien op artiest als een subsorteer zoals zo

<?php 
    $result = $mysqli->query("SELECT * FROM `table` ORDER BY provider, artist");

    $current_provider = NULL;

    while ($data = $result->fetch_object()){
        if ( $current_provider != $data->provider ) {
            // new provider
            echo 'provider '. $data->provider;
            $current_provider = $data->provider;
        }
        echo $data->artist;
    }
?>

NA UPDATE:

<?php
    $service = $db->query("SELECT * FROM `system` ORDER BY provider, artist");

    $current_provider = NULL;

    while ($data = $service->fetch_object()) {

        if ( $current_provider != $data->provider ) {
            if ( $current_provider !== NULL ) {
                echo '</div>';
            }
            echo '<div class="service">';
            echo '<p class="lower">' . $data->provider . '</p>';
            $current_provider = $data->provider;
        }
        echo '<a href="?artist=' . $data->artist '">' .
             $data->artist . '</a><br/>';   
    }
    echo '</div>';


  1. Hoe vind je niet-bestaande gegevens uit een andere tabel met JOIN?

  2. Hoe toegang krijgen tot de Oracle-database via het netwerk?

  3. Meerdere één tot veel relaties in GORM

  4. Een <kaart> ophalen in Hibernate