Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wybieranie danych COUNT(*) z GROUP BY, z dodatkowym sortowaniem
Mion
post
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 6
Dołączył: 7.03.2005

Ostrzeżenie: (0%)
-----


Witam,
Baza zawiera tabele UserKonto i UserZdjecia

Tabela user ma pola: uid, nick
Tabela zdjęcia ma pola: idz, id_usera, nazwa, dodano, sciezka

Pytanie brzmi jakim zapytaniem bez podzapytania z CONCAT() wybrać listę userów którzy mają dodanych najwiecej zdjęć w galerii to proste:
  1. SELECT UK.nick , COUNT(*) AS ile, U.dodano, U.nazwa
  2. FROM UserZdjecia U LEFT OUTER JOIN UserKonto UK ON U.id_usera=UK.uid
  3. GROUP BY U.id_usera ORDER BY ile DESC;

ale tak by w wyniku zapyatania pojawilo się zdjećie które zostało ostatnio dodane.

Niestety dodanie warunku U.dodano DESC; nie zmienia wyniku zapytania.

Pozdrawiam

Ten post edytował Mion 17.12.2009, 19:02:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
prachwal
post
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

Ostrzeżenie: (0%)
-----


co za problem przerobić?

zasada jest taka jak agregujesz to nie wyciągasz wartości, bo albo po nich agregujesz albo grupujesz, więc się za jednym zamachem nia za bardzo da , chyba że to liczba to masz min / max - ale często nie spełnia to oczekiwań
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 14:12