mianowicie mam takie zapytanie:
SELECT * FROM ksiazka WHERE id_ksiazka IN ( SELECT id_ksiazka FROM zamowienia GROUP BY id_ksiazka HAVING COUNT( id_ksiazka ) >1 ) LIMIT 0, 8
tylko chciał bym aby wynik był prezentowany w kolejności od najwiekszej liczby wystapień id_ksiazka
czyli:
SELECT COUNT(id_ksiazka) AS ilosc_wystapien FROM zamowienia GROUP BY id_ksiazka HAVING COUNT( id_ksiazka ) >1 ORDER BY ilosc_wystapien DESC
z tabeli
ZMOWIENIA
Kod
id_zmowienia | id_ksiazki |......
1 | 8 | ......
2 | 4 | ......
3 | 2 | ......
4 | 4 | ......
5 | 8 | ......
6 | 8 | ......
1 | 8 | ......
2 | 4 | ......
3 | 2 | ......
4 | 4 | ......
5 | 8 | ......
6 | 8 | ......
Próbowałem coś zmajstrować w taki sposób, ale nie wychodzi :/
SELECT * FROM ksiazka WHERE id_ksiazka IN ( SELECT id_ksiazka FROM zamowienia GROUP BY id_ksiazka HAVING COUNT( id_ksiazka ) >1 ) ORDER BY ( SELECT COUNT(id_ksiazka) AS ilosc_wystapien FROM zamowienia GROUP BY id_ksiazka HAVING COUNT( id_ksiazka ) >1 ORDER BY ilosc_wystapien DESC LIMIT 1 )
Ale to drugie zapytanie zwraca mi więcej niż jeden wynik