Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Procentowy wykaz częstości wystąpień, Ile procent całości to bierzący rekord
astropanic
post 15.02.2007, 23:38:52
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2006

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


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

Ten post edytował astropanic 15.02.2007, 23:39:24
Go to the top of the page
+Quote Post
prond
post 16.02.2007, 16:51:56
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


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;


Ten post edytował prond 16.02.2007, 16:54:42


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 11:03