Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podwójne sortowanie
Forum PHP.pl > Forum > Bazy danych > MySQL
poldo
Witam,

Stworzyłem sobie trzy tabele, w jednej są to np. jakies filmiki, w drugiej tagi, a trzecia zawiera dane łączące tagi z fimikami. Postanowiłem na stronie zrobić losowe wyświeltanie 10 tagów, a pośród tych 10 tagów ułożyć je w kolejności ilości występowania w różnych filmikach. Skonstruowałem więc takie zapytanie:

  1. SELECT count(tvt.ID_tagu) AS Ile, tvt.Tag FROM (tv_tagi tvt JOIN tv_polaczenia tvp JOIN tv_filmiki tvf) WHERE tvf.ID_tv = tvp.ID_tv AND tvp.ID_tagu = tvt.ID_tagu GROUP BY tvt.Tag ORDER BY RAND(), Ile DESC LIMIT 10


Jak widać, chciałem aby najpierw wylosowało mi 10 losowych tagów RAND(), a potem te 10 tagów by posortowało wg. ilości ich powtórzeń Ile DESC. Niestety, o ile losuje tagi losowo, to już potem ich nie chce posegregować wg. zliczonego wcześniej counta Ile. No i teraz jestem w kropce jak jednym zapytaniem SQL można by ten problem rozwiązać...? sadsmiley02.gif
erix
Utwórz sobie podzapytanie wybierające najpierw losowe tagi, potem (zewnętrznym) sortujesz wg liczby powtórzeń.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.