Jednak problem z głowy, nie doceniłem możliwości while'a

Można skasować moje wypociny
Helo
Domyślam się, że mój problem należy raczej do podstawowych, ale już od godziny grzebię w kursach i nie umiem znaleźć nic odpowiedniego...
Zrobiłem sobie licznik wyświetleń i chcę zrobić na stronie listę 10 najpopularniejszych wyników. W tym celu wyciągam po kolei dane z 4 kolumn (osobno): każdą z nich sortuję według licznika, by potem poskładać je w listę, czyli na przykład:
$utwor = mysql_query("SELECT utwor FROM zespoly ORDER BY licznik DESC LIMIT 10");
potem we while'u:
$row = mysql_fetch_array($utwor, MYSQL_NUM)
i wynik wyświetlam za pomocą: $row[$x];
zmienna $x pochodzi z pętli for, za pomocą której wypisuję 10 najpopularniejszych wyników.
To samo robię z (m.in.) 'wykonawcą' i lista wyświetla mi się na zasadzie:
$row2[0] (wykonawca) - $row[0] (autor)
$row2[1] (wykonawca) - $row[1] (autor)
....
czyli:
Black sabbath - Paranoid
The clash - London Calling
...
Problem jest taki, że dane te mieszają mi się, gdy licznik jest jednakowy dla obu rekordów - np konkretny 'utwór' będzie źle dopasowany z tak samo posortowanym 'wykonawcą'. Od razu powiem, że dodanie drugiego warunku sortowania nie przynosi efektów.
Chcę to więc posortować za jednym zamachem, tzn zamiast pojedynczego wyciągania zrobić SELECT * FROM zespoły (...). W kursach przeczytałem, że da się potem za pomocą while'a wyciągnąć te dane - np $row[0] będzie oznaczało utwór, $row[1] będzie oznaczało zespół itd. Nie mam tylko pojęcia w jaki sposób użyć tu pętli for (może nie jest potrzebna?), by wypisać wszystkich 10 wyników, a nie tylko dane z jednego wiersza.
pozdrawiam
flaa