Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: najefektywniejsze policzenie rekordów
Forum PHP.pl > Forum > Bazy danych
chomiczek
Jak najlepiej policzyć rekordy dla jednego USERA.. mam tabele Produkty, w której jeden USER moze miec wiele produktów przypisanych do jednej kategorii
produktID(auto) - userID - CategoryID - NazwaProd
1 - 15 - 45 - ik
2 - 15 - 45 - dsf
3 - 15 - 89 - sdkjf

i jak najwydajniej policzyć poszczególną ilość elementów.. zastosować kilka COUNT?? aa
zapomniałbym do zapytania dojdzie pewnie INNER JOIN bo na podstawie CategoryId będę pobiearał nazwę kategorii
ActivePlayer
  1. SELECT count(*)
  2. FROM produkty
  3. GROUP BY userID
- ilosc produktów dla kazdego z userów
  1. SELECT count(*)
  2. FROM produkty
  3. p JOIN kategorie k ON p.categoryid = k.id WHERE p.userid = 1 GROUP BY p.CategoryID
- ilosc produktów dla usera o id = 1 i poszczegolnych katsów.

moze zawierac bledy.
aleksander
NTF

przenoszę na Bazy
chomiczek
nie do konca tak, bo musze zwrócić ilosc produktów, ale z podziałem na kategorie
ActivePlayer
no, to to drugie zapytanie w sam raz.
chomiczek
a jak wyświetle wyniki potem??
chodzi mi o podział grupy? pasowałoby mi, zeby zwrócił mi tablice:
  1. <?php
  2. $tablica['CategoryId']=$iloscrekordów;
  3. ?>
ActivePlayer
  1. SELECT count(*), CategoryID
  2. FROM produkty
  3. p JOIN kategorie k ON p.categoryid = k.id WHERE p.userid = 1 GROUP BY p.CategoryID
chomiczek
Hmm... działa... ale..
  1. <?php
  2. $pytaj = "SELECT count(*) FROM Product p JOIN Category c ON p.CategoryId = c.CategoryId WHERE p.Firm
    aId = '"
    .$_GET['producent']."' GROUP BY p.CategoryId";
  3. $odpo = mysql_query($pytaj);
  4. while($ile=mysql_fetch_array($odpo)) {
  5. echo $ile[0].'<br/>';
  6. }
  7. ?>


I otrzymuje wtedy ilość poszczególnych produktów z uwazględnieniem ich przynależności do kategorii, ale.. nie wiem do jakiej kategorii. Jak wyświetlić informacje gdzie zobacze ile jest produktów należących do jakiejś kategorii??
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.