Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Znalezienie usera do zapytania COUNT
Forum PHP.pl > Forum > Bazy danych > MySQL
lexis72
Witam,
mam takie zapytanie:

  1. (SELECT COUNT(numer) FROM ".DB_WYNIKI." WHERE kategoria_id='".$_GET['kategoria_id']."' AND numer=1 GROUP BY user_id ORDER BY COUNT(user_id) DESC LIMIT 1) AS usert,


ktore liczy userow ktorzy w bazie maja najwiecej rekordow z numerem 1. Zapytanie dziala i poprawnie znajduje ta liczbe ale nie moge sobie poradzic jak do tego dodac zapytanie ktore pokaze jaki user ma tych rekordow najwiecej. Dodam ze konstrukcja zapytania zmusila mnie do zrobienia SELECTA w SELECTCIE przez co dodanie obok user_id w petli odpada. Potrzebuje nowe zapytanie SELECT zamkniete w nawiasie tak jak podane wyzej. Pomoze ktos?
bpskiba
  1. SELECT COUNT(numer) ,user_id
  2. FROM ".DB_WYNIKI."
  3. WHERE
  4. kategoria_id='".$_GET['kategoria_id']."' AND numer=1
  5. GROUP BY user_id
  6. ORDER BY COUNT(user_id) DESC
  7. LIMIT 1
lexis72
Napisalem ze z racji rozbudowanego zapytania SELECT (jest kilkanascie roznych zapytan) nie dalo sie polaczyc tego w jedno dlatego te zapytanie napisalem w formie podzapytania w nawiasie ktore jest niezalezne od reszty. Gdyby chodzilo tylko o znalezie tego i usera to nie byloby problemu ale do znalezienia jest znacznie wiecej rzeczy i musialem je oddzielic bo maja rozne WHERE'y.

Dla zobrazowania mam cos w stylu:

Cytat
(SELECT COUNT(numer) FROM ".DB_WYNIKI." WHERE kategoria_id='".$_GET['kategoria_id']."' AND numer=1 GROUP BY user_id ORDER BY COUNT(numer) DESC LIMIT 1) AS usert,
(SELECT COUNT(numer) FROM ".DB_WYNIKI." WHERE kategoria_id='".$_GET['kategoria_id']."' AND numer=2 GROUP BY user_id ORDER BY COUNT(numer) DESC LIMIT 1) AS userk,
(SELECT COUNT(numer) FROM ".DB_WYNIKI." WHERE kategoria_id='".$_GET['kategoria_id']."' AND numer=3 GROUP BY user_id ORDER BY COUNT(numer) DESC LIMIT 1) AS userw,

i dla kazdego tego zapytania jest inny user i musze go znalezc. Jak odnalezc usera do tych zapytan?
bpskiba
Przyjacielu......
dlaczego koniecznie chcesz koniecznie uzyskać te wyniki w osobnych kolumnach?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?
gdybyś zrezygnował z tego ograniczenia wystarczyło by ... group by user_id, numer

wygląda na to, że problem polega na sposobie myślenia, a nie na znajomości SQL. Ten efekt można osiągnąć jednym zapytaniem, ale trzeba zmienić podejście
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.