Więc do rzeczy:
Przyjmijmy, że mam listę filmów, pola: ID, tytul, gatunek.
Teraz na stronie chce wyświetlić ilość filmów z każdego gatunku w postaci wykresu słupkowego posortowane alfabetycznie. Aby móc to uzyskać, potrzebuję informacji, jaka wartosc ma największy ilościowo gatunek, aby móc dopasować długości słupków.
Rozważam trzy opcje:
1.
SELECT count(*) AS ilosc, gatunek FROM films GROUP BY gatunek ORDER BY ilosc DESC LIMIT 1 SELECT count(*) AS ilosc, gatunek FROM films GROUP BY gatunek ORDER BY gatunek
Z pierwszego zapytania uzyskam maksymalną wartość, z drugiego już generuję html z odpowiednio proporcjonalnymi slupkami wykresu.
2.
SELECT count(*) AS ilosc, gatunek FROM films GROUP BY gatunek ORDER BY ilosc DESC
Przy pobraniu pierwszego wiersza uzyskuje wartosc maksymalna, nastepnie caly wynik przepisuje do tabli w php i tam sortuje alfabetycznie i generuje wykres
3.
SELECT count(*) AS ilosc, gatunek FROM films GROUP BY gatunek ORDER BY gatunek
Całość posortowaną alfabetycznie pobieram do zmiennych w php i z poziomu php wyszukuje wartosc maksymalna, nastepnie generuje wykres.
Piersze rozwiazanie dwa razy męczy sql'a, za to php praktycznie w locie generuje potem wykres.
Drugie i trzecie mogą dać całkiem sporo zmiennych dla php jezeli tabela bedzie szersza i/lub dłuższa, w zamian do sql'a łączy się tylko raz.
Jeszcze co do samej tabeli.. zazwyczaj bedzie to jedna, ale czasem wyniki pobieram z tabel laczonych (inner join)
Tak więc będę wdzięczny za jakiekolwiek sugestie. Co optymalniej jest męczyć php czy sql'a.