Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]zliczenie rekordkow i wyswietlenie ich wedlug ilosci.
Forum PHP.pl > Forum > Przedszkole
zerosix
Witam,
glowie sie nad pewnym zapytaniem.mam dwie tabelki:
fav
id idfav iduser
1 12 1
1 12 2
1 14 2

pierwszafaza
id linkdozdjecia idpictr
1 xxxx.jpg 12
2 yyyy.jpg 14

chcialbym posegregowac linkdozdjecia,idpictr wedlug ilosci zlicznonych idfav tzn
jesli link do zdjecia o idpictr=12 a w tabelce fav idfav o wartosci 12 wystepuje dwa razy to bedzie wyswietlane
przed tym gdzie 14 wystepuje tylko raz.Mam nadzieje ze wyrazilem sie w miare zrozumiale.Jak powinno wygladac takie zapytanie.?



pomoze ktos...? obszukalem juz chyba polowe googli i nie moge znalezc mojego problemu.
erix
GROUP BY + HAVING?

Tylko tyle da się z tego opisu zrozumieć.
smagul
  1. SELECT `tab1`.`id`, `tab1`.`linkdozdjecia`, COUNT(`tab2`.`id`) AS 'ilosc' FROM `pierwszafaza` AS `tab1`
  2. LEFT JOIN `fav` AS `tab2` ON `tab1`.`idpictr` = `tab2`.`idfav`
  3. GROUP BY `tab1`.`id`
  4. ORDER BY `ilosc` DESC


Na szybko bez testów.

Tyle że i tak masz głupio zaprojektowaną bazę danych, bo skoro obrazek ma już swoje `id`, to po co mu drugie `idpictr`?
zerosix
sprobuje raz jeszcze:)
fav
id idfav iduser
1 12 1
1 12 2
1 14 2

pierwszafaza
id linkdozdjecia idpictr
1 xxxx.jpg 12
2 yyyy.jpg 14

chcialbym wyswietlic rekordy zwiekszajaco z tabelki pierwszafaza wedlug tego ile razy idpictr powtorzy sie w idfav np.12 w xxxx.jpg powtarza sie dwa razy wiec w petli while bedzie wyswietlone przed yyyy.jpg .


juz testuje

Niestety Twoj przyklad nie dziala ,a nie bardzo go rozumiem dlatego nie umiem sprawdzic czemu.Zwlaszcza czemu uzyles COUNT(`tab2`.`id`) a nasteonie FROM pierwszafaza.
Zmienilem strukture tabel jak radziles na :
pierwszafaza
id nazwa

fav:
id iduser favnr
gdybys byl tak mily albo ktokolwiek inny i poprawil to zapytanie?

z gory dzieki.

Ponawiam moja prosbe,Panowie zlitujcie sie:)
andrzejk
  1. SELECT count( idfav ) AS ilosc, idfav, linkdozdjecia
  2. FROM fav
  3. JOIN pierwszafaza ON idfav = idpictr
  4. GROUP BY idfav
  5. ORDER BY ilosc DESC


otrzymasz kolumny - ilosc, idfav oraz nazwe-link zdjecia

o to chodziło questionmark.gif
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.