Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] średnia z dwóch różnych kolumn
ewelinac18
post 14.08.2007, 20:25:27
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 11.07.2007

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


Średnia z dwóch różnych kolumn

oto tabele

phpbb_user ---> user_points
typy ---> typer

chce wyjąc z nich średnią a dokładnie punkty podzielone przez ilośc rekordów = 'jakis user'


bardzo prosze o pomoc bede wdzięczna smile.gif

Ten post edytował ewelinac18 14.08.2007, 20:26:05
Go to the top of the page
+Quote Post
singles
post 14.08.2007, 22:33:27
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 26
Dołączył: 2.07.2007

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


Nie wiem czy dobrze zrozumiałem o co Tobie chodzi, ale można np. podzapytaniem:

  1. SELECT ( (SELECT SUM(user_points) FROM phpbb_user)/ COUNT(*)) FROM typy


Ten post edytował singles 14.08.2007, 22:42:04


--------------------
Works for me => u mnie działa - blog o (o)programowaniu i nie tylko
meet.php - darmowe meetupy związane z PHP
Go to the top of the page
+Quote Post
ewelinac18
post 15.08.2007, 07:02:41
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 11.07.2007

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


dzięki serdeczne za pomoc smile.gif myślałam ze już mi nikt nie pomoże

niestety nie oto chodzi jeszcze raz sie określę

chciałam wyświetlić osoby z najlepszą średnią typowania,
np. zeby obliczyć średnia usera o nazwie xxx to trzeba

  1. zapytanie1=SELECT COUNT(id) AS total FROM typy WHERE typer='xxx'
  2.  
  3. zapytanie2=SELECT user_points FROM phpbb_users WHERE user_id='xxx'


średnia= zapytanie1 / zapytanie2


tak mam zrobione oby otrzymać średnia dla poszczególnego usera

ale jak teraz wyświetlić 5 userów z największą średnią questionmark.gif

Ten post edytował ewelinac18 15.08.2007, 07:06:33
Go to the top of the page
+Quote Post
Kicok
post 15.08.2007, 07:42:34
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


  1. SELECT t.typer, ( u.user_points / COUNT( t.typer ) ) AS srednia
  2. FROM typy AS t
  3. JOIN phpbb_users AS u ON (u.user_id = t.typer)
  4. GROUP BY t.typer
  5. ORDER BY srednia DESC LIMIT 5


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
ewelinac18
post 15.08.2007, 09:33:32
Post #5





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 11.07.2007

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


udało mi sie tak powinno wyglądać zapytanie

  1. SELECT t.id_typera, ( u.user_points / COUNT( t.id_typera ) )
  2. AS srednia
  3. FROM typy AS t
  4. JOIN phpbb_users AS u ON (u.user_id = t.id_typera)
  5. GROUP BY t.id_typera
  6. ORDER BY srednia
  7. DESC LIMIT 5


Kicok nie wiedziałeś ze u.user_id = t.id_typera bo typer to nazwa usera
ale bardzo bardzo dziękuję Ci za pomoc smile.gif

Ten post edytował ewelinac18 15.08.2007, 09:35:08
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.05.2025 - 04:59