Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jedna tabela, jak usparwnić nie tworząc 2 zapytań.
axxxon
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 28.10.2010

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


Witam, a więc mam następujący problem, posiadam tabele zgromadzeni o polach:
Id , cena , typ, id_nabywcy, status

Muszę skonstruować takie zapytanie które zwróci wszystkie unikalne typy wraz z cenami(jeden typ może mieć parę różnych cen - wtedy traktowac to musze jako oddzielny wypadek) wraz z liczba wszystkich nabywców

do tego celu wykorzystuję takie zapytanie

  1. SELECT DISTINCT `typ` , `cena` , (
  2.  
  3. SELECT count( `id_nabywcy` )
  4. FROM `zgromadzeni`
  5. GROUP BY `typ`
  6. LIMIT 1
  7. )
  8. FROM `zgromadzeni` WHERE `status`=1


które jak widać nie jest najwydajniejsze, bo nie zawraca sumy nabywców dla każdego typu tylko cały czas dla pierwszego.

Dlatego prosiłbym o pomoc w znalezieniu sposobu na usprawnienie tego zapytania
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
toel
post
Post #2





Grupa: Zarejestrowani
Postów: 97
Pomógł: 11
Dołączył: 2.02.2010

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


  1. SELECT DISTINCT `typ` , `cena` , (
  2.  
  3. SELECT count( `id_nabywcy` )
  4. FROM `zgromadzeni` z2
  5. WHERE `z2`.`typ`=`z1`.`typ`
  6. LIMIT 1
  7. )
  8. FROM `zgromadzeni` z1 WHERE `status`=1
  9.  


Nie sprawdzałem, może gdzieś błąd w apostrofach zrobiłem, ale ogólnie coś takiego powinno działać.

Ten post edytował toel 25.02.2011, 16:10:21
Go to the top of the page
+Quote Post
sazian
post
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


a nie wystarczy tak questionmark.gif
  1. SELECT `typ` , `cena`
  2. FROM `zgromadzeni` z1 WHERE `status`=1
  3. GROUP BY `typ` , `cena`
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 11:01