Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]Pomoże ktoś przy zapytaniu?
Forum PHP.pl > Forum > Przedszkole
perhydrol
Mógłbym prosić o jakąś pomoc przy napisaniu zapytania MYSQL?
mianowicie mam takie zapytanie:
  1. SELECT *
  2. FROM ksiazka WHERE id_ksiazka
  3. IN ( SELECT id_ksiazka FROM zamowienia GROUP BY id_ksiazka HAVING COUNT( id_ksiazka ) >1 )
  4. LIMIT 0, 8


tylko chciał bym aby wynik był prezentowany w kolejności od najwiekszej liczby wystapień id_ksiazka

czyli:
  1. 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           | ......


Próbowałem coś zmajstrować w taki sposób, ale nie wychodzi :/
  1. SELECT *
  2. FROM ksiazka WHERE id_ksiazka
  3. IN ( SELECT id_ksiazka FROM zamowienia GROUP BY id_ksiazka HAVING COUNT( id_ksiazka ) >1 )
  4. ORDER BY (
  5. 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
  6. )

Ale to drugie zapytanie zwraca mi więcej niż jeden wynik
kefirek
  1. SELECT *, COUNT(z.id_ksiazka) AS ile FROM zamowienia z LEFT JOIN ksiazka k ON (z.id_ksiazka=k.id_ksiazka) GROUP BY z.id_ksiazka HAVING COUNT( z.id_ksiazka ) >1 ORDER BY ile DESC
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-2025 Invision Power Services, Inc.