![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 28.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
szanowni czytelnicy,
zwracam sie z prosba o pomoc, w MySQL przechwuje dane o pozycjach na liscie przebojow, ktore sa tygodniowo aktualizowane - przyklad Moj problem polega na tym, ze nie wiem jak uzyskac zapytanie, ktore bedzie generowac nowa tabele, w ktorej znajda sie wyniki poszczegolnych tygodni - cos jak best of ostatnich osmiu notowan, najpopulaniejsze pozycje np.1miejsce Wykonawca_A 4x pozycja1, 3x pozycja2, raz pozycja4 2miejsce Wykonawca_B 3x pozycja1, 3x pozycja2, raz pozycja4 itd prosze o pomoc, Pjotr |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.10.2007 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej użyć UPDATE ?
|
|
|
![]()
Post
#3
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Pokaż strukturę tabeli i napisz jaki efekt chcesz dokładnie osiągnąć.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Nową tabele?
Czyli po roku miał byś 4.5*12 tabel w bazie ? Tak się nie robi, dajesz pole timestamp, i robisz odpowiedniego SELECTa po tym polu, |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 28.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dziekuje za odpowiedzi,
mysle, ze niedokladnie opisalem moj problem tak wyglada tabela (IMG:http://hitparada.familok.info/tabela.jpg) z tej tabeli chce wyciagnac 10 pozycje, ktore odzwierciedla zajete pozycje od czasu wpisow na liste. Pjotr |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jesli dobrze rozumiem to potrzebujesz cos ala snaphot. Mozesz to zrobic tak:
Moim zdanien powinienes jednak zmodyfikowac strukture bazy danych, tak aby w jednej tabeli trzymac utwory, a w drugiej historie pozycji na liscie przebojow: | id_utowru | id_listy | miejsce |, gdzie listy tworzysz i opisujesz w osobnej tabeli. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 28.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Szanowni koledzy,
dziekuje bardzo za okazana pomoc, niestety, probujac roznego rodzaju zapytania, nie otrzymuje oczekiwanego efektu. SELECT wykonawca, platz , COUNT(*)FROM hitparada GROUP BY utwor ORDER BY `COUNT( * )` desc mysle, ze powinienem zmienic forme zapytania, i uzyc SUM, aby policzyc wartosci pola PLATZ, ktore odpowiada pozycji na liscie przebojow, im mniejsza wartosc, tym wyzej jest dany utwor, lub wykonawca notowany, i nastepnie sortowac od najmniejszej do najwiekszej wartosci. jesli ktos jest chetny, i pomoze mi wygenerowac zapytanie, to juz teraz dziekuje, a ja czytam dalej w HELP do mysql. pozdrowienia, Pjotr Niestety, zapytanie typu_ SELECT wykonawca, utwor , SUM(platz )FROM hitparada GROUP BY wykonawca ORDER BY `SUM( platz )` ASC rowniez mnie nie zadowala, gdyz wykonawca, ktory jest tylko jeden jedyny raz notowany na 1 miejscu, jest rowniez w rocznym podsumowaniu zwyciezca, a powinno byc tak, ze ten, ktory najczesciej byl na pozycji 1, ten jest w rocznym zestawieniu na pozycji pierwszej. No to musze dalej czytac.... Pjotr OK. zmienilem strukture danych, i wygenerowalem nowa tebele: (IMG:http://hitparada.familok.info/tabela1.jpg) w jaki sposob moge zapytac, ile razy utwor ABC byl na pozycji 1, 2, 3, 4....itd Prosze o pomoc, Pjotr |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 29.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
w jaki sposob moge zapytac, ile razy utwor ABC byl na pozycji 1, 2, 3, 4....itd Przede wszystkim zrób osobną tabelę dla utworów. Każdy otwór będzie miał uniklany identyfikator. W tabeli 'przeboje_2007' powinien być przechowywany właśnie uniklany identyfikator rekordu. Struktura tabeli utwory: ID_utworu, nazwa_utworu, wykonawca_utworu Potem w tabeli przeboje_2007 umieszczacz zamiast nazwy utworu i wykonawcy - ID utworu z tabeli utwory. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 28.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
teraz mam juz przygotowane zapytanie do tabeli przeboje_2007
$wynik=mysql_query ("SELECT wykonawca,utwor COUNT(*) FROM przeboje_2007 WHERE platz=1 GROUP BY wykonawca;") or die ("blad w pytaniu"); print "<table cellpadding=5 border=1>"; print "<tr><td><center><b>wykonawca</b></center><td><b>utwor</b></td><td><center><b>tygodni na 1 miejscu</b></center></td>\n"; while ($rekord=mysql_fetch_assoc ($wynik)) { $wykonawca=$rekord['wykonawca']; $utwor=$rekord['utwor']; print "<tr><td>$wykonawca</td><td>$utwor</td><td>JAK_WPROWADZIC_DANE?</td>\n"; } print "</table>"; ktore niestety nie dziala poprawnie, bo niewiem, jak wpisac wynik COUNT(*) do tabeli. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 23:59 |