Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dzielenie rekordów i druga tabela
Forum PHP.pl > Forum > Bazy danych > MySQL
hote
Mam dwie tabele (ograniczę się tylko do pól, które chce użyć):

PIERWSZA: id, nazwapliku
DRUGA: id, liczbaglosow, sumaglosow

Co chcę uzyskać?

Chcę uzyskać 3 nazwy plików o najwyższych ocenach i wyswietlic.
CZYLI:
1. W zapytaniu SQL podzielenie sumyglosow przez liczbeglosow.
2. Polaczenie tabel zebym mogl pobrac nazwepliku.

Prezentowane ma byc: nazwapliku[i], wynik[i]

gdzie wynik jest efektem dzielenia.

Nie mogę tego przetrawić, z góry dziękuję.
sci201
Przy podanym ukladzie tabel i zalozeniu ze tabele lacza sie przez id

zapytanie będzie wygladało następująco:

  1. SELECT pierwsza.nazwa_pliku, druga.suma_glosow / druga.liczba_glosow AS wynik
  2. FROM pierwsza
  3. INNER JOIN druga ON pierwsza.id = druga.id
  4. ORDER BY wynik DESC
  5. LIMIT 3;


tlumaczenie:

  1. druga.suma_glosow / druga.liczba_glosow AS wynik
- nasze dzialanie, dzielenie sumy przez liczbe i wyświetlenie wyniku dzielenia jako "wynik"
  1. INNER JOIN druga ON pierwsza.id = druga.id
- warunek złaczenia tabel
  1. ORDER BY wynik DESC
- sortowanie po polu wynik malejaco // porzadkuje nam tabele od najwiszej do najmniejeszej
  1. LIMIT 3
- wybiera z tego wszystkiego po przesortowaniu 3 górne wiersze // chyba tak chcialeś. Jak nie to bez tej linijki
hote
dzieki za odp smile.gif o to chodziło:)
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.