Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Procentowy wykaz częstości wystąpień
Forum PHP.pl > Forum > Bazy danych > MySQL
astropanic
Witam,
Mam tabelę "element" oraz "category"
Razem rekordów jest dla uproszczenia 100.
Każdy z rekordów element ma klucz do id kategorii do której nalezy.
Teraz pytam bazę o rekordy wraz z kategoriami.

SELECT * FROM element, category WHERE element.categoryid = category.id (wiem że można lepiej, ale tu chodzi o samą ideę).

W jaki sposób pogrupować to według kategorii, żeby pokazało mi procentową wartość ilości kategorii do całości. Mam nadzieję że wyraziłem się jasno.
Załóżmy że 25 elementów należy do kategorii "ogórki", 50 do "kalkulatory", 10 do kategorii "wentylatory" i 15 do "wycieraczki" to zapytanie powinno mi zwrócić:

ogorki 25
kalkulatory 50
wentylatory 10
wycieraczki 15

Ma ktoś pomysł ?
Pozdrawiam
prond
To zapytanie zliczy Tobie procentowy udział produktów danej kategorii (nawet jak będzie zero produktów dla którejkolwiek).

Musisz jedynie dopracować formatowanie (np. x100 i zrzutować do INTa).

  1. SELECT
  2. Category.name,
  3. count(Product.id) / Total.val;
  4. FROM categories AS Category
  5. LEFT OUTER JOIN products AS Product
  6. ON (Category.id = Product.cateogry_id),
  7. (SELECT count(*) AS val FROM products) AS Total
  8. GROUP BY
  9. Total.val,
  10. Category.name;
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-2024 Invision Power Services, Inc.