Ако искате да го направите в MySQL заявката, честно казано е повече неприятности, отколкото си струва. От една страна, синтаксисът е наистина нестабилен (доколкото си спомням) да има име на група, посочено в горната част на всяко групиране. И резултатите все още се третират като редове, така че името на групата ще се третира като ред с всички останали колони като Null, така че наистина няма да спестите време или усилия в PHP скрипта, тъй като той трябва да изпълни оператор if за да улови, когато удари име на група вместо данните на групата.
Ако искате да бъде направено от PHP цикъла while, Йохан е на прав път. Използвам следното за подобна ситуация:
$result = $sql->query($query);
$prev_group = "";
while($data = $result->fetch_assoc()){
$curr_group = $data['group'];
if ($curr_group !== $prev_group) {
echo "<h1>$curr_group</h1>";
$prev_group = $curr_group;
}
else {
echo $data;
.....
}
Очевидно данните за ехото ще бъдат настроени да отразяват частите от данните по желания от вас начин. Но $prev_group/$curr_group е настроен така, че единственият път, когато те няма да съвпадат, е когато сте в нова група и по този начин искате да отпечатате заглавка от някакъв вид.