Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Warunek WHERE z COUNT
Forum PHP.pl > Forum > Bazy danych > MySQL
lexis72
Witam,
Mam w bazie 3 produkty i chcialbym sie dowiedziec w kategorii ID=1 jaki uzytkowik ma najwiecej zamowien pierwszego, drugiego i trzeciego produktu, jaka firma ma najwiecej zamowien 1, 2 i 3 produktu oraz w kazdym przypadku ile to jest zamowien. Wszystko wydaje sie proste i jestem w stanie sprawdzic kazda ta informacje z osobna ale nie wiem jak stworzyc jedno zapytanie ktore by mi to zwrocilo. Czy ktos moglby mi pomoc, oto dane:

uzytkownik - user_name
firma - firma_name
produkt 1 - produkt1
produkt 2 - produkt2
produkt 3 - produkt3
kategoria - kategoria_id

Zapytanie powinno zwrocic uzytkownika oraz firme ktorzy mieli najwieksza liczbe zamowien pierwszego produktu w kategoria_id=1 wraz z tymi liczbami i analogicznie te same dane dla na produktu 2 i 3.

Wiem ze to nic nie pomoze bo zapytanie zapewne trzeba zrobic calkowicie inaczej ale tak zrobilem zapytanie ktore mi zwraca uzytkownika z najwieksza liczba zamowien pierwszego produktu oraz ta liczbe. Ale nie wiem jak tu podpiac jeszcze 2, 3 produkt i dla tych produktow jeszcze firme.

  1. $result = dbquery("SELECT user_name,
  2.  
  3. COUNT(Case When kategoria_id=1 AND produkt=1 AND branza_id='".$_GET['branza_id']."' then user_name end ) AS topt,
  4.  
  5. FROM ".DB_ZAMOWIENIA."
  6.  
  7. GROUP BY user_name ORDER BY topt DESC LIMIT 1
  8.  
  9. ");
mmmmmmm
Podaj strukturę tabeli (tabel), przykładowe dane wyjściowe i oczekiwany wynik.
lexis72
Nie rozumiem Cie przeciez wszystko podalem smile.gif Jest nawet przyklad dzialajacego zapytania dla 1 produktu. Sa podane nazwy kolumn, wynikiem bedzie liczba z COUNT i nazwa usera/firmy.
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.