/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL / php - topscorerliste.
Fra : Kenneth Brun Nielsen


Dato : 06-05-02 12:05

Jeg sidder og overvejer hvordan jeg skal udarbejde en topscorerliste til
vores fodboldhjemmeside.

Jeg har alle spillere oprettet i en separat tabel, og alle målene oprettet i
en anden, hvor en af kolonnerne naturligvis er spillerID'en.

Jeg overvejer pt. to løsninger:

1) Finder samtlige målscorer ved et "..DISTINCT.."-databasekald til
måltabellen. Og derefter for samtlige målscorere findes antallet af
forekomster i måltabellen ved brug af "count(*)...".

2) Overfører samtlige data fra måltabellen til php-scriptet i een kommando,
og får talt antal scoringer af de enkelte spillere op vha. noget dynamisk
variabel-sjov.

Slutteligt sorteres efter antallet af scoringer..

Har folk nogle bedre forslag? Jeg er ikke så erfaren i SQL, men er der ikke
mulighed for at klare både optælling og sortering her på en smartere måde
end metoden i 1)?

Hvis der ikke er bedre forslag, er der så nogen der har en ide om hvilken af
de ovennævnte metoder, der er mest "økonomisk" i drift. Ex. giver den
øverste ret mange databasekald (er det et problem?). Til jeres info drejer
det sig om 10-15 målscorere...

På forhånd tak!

Kenneth



 
 
Peter Lykkegaard (06-05-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 06-05-02 12:33


"Kenneth Brun Nielsen" <kenneth@pbk.dk> wrote in message
news:ab5o4b$67v$1@eising.k-net.dk...
> Jeg sidder og overvejer hvordan jeg skal udarbejde en topscorerliste til
> vores fodboldhjemmeside.
>
> Jeg har alle spillere oprettet i en separat tabel, og alle målene oprettet
i
> en anden, hvor en af kolonnerne naturligvis er spillerID'en.
>
> Jeg overvejer pt. to løsninger:
>
> 1) Finder samtlige målscorer ved et "..DISTINCT.."-databasekald til
> måltabellen. Og derefter for samtlige målscorere findes antallet af
> forekomster i måltabellen ved brug af "count(*)...".
>
Prøv at kikke lidt på GROUP BY i din foretrukne SQL dokumentation

mvh/Peter Lykkegaard



Kenneth Brun Nielsen (06-05-2002)
Kommentar
Fra : Kenneth Brun Nielsen


Dato : 06-05-02 13:22


"Peter Lykkegaard" <polonline@hotmail.com> skrev i en meddelelse
news:3cd669c1$0$11941$edfadb0f@dspool01.news.tele.dk...
>
> "Kenneth Brun Nielsen" <kenneth@pbk.dk> wrote in message
> news:ab5o4b$67v$1@eising.k-net.dk...
> > Jeg sidder og overvejer hvordan jeg skal udarbejde en topscorerliste til
> > vores fodboldhjemmeside.
> >
> > Jeg har alle spillere oprettet i en separat tabel, og alle målene
oprettet
> i
> > en anden, hvor en af kolonnerne naturligvis er spillerID'en.
> >
> > Jeg overvejer pt. to løsninger:
> >
> > 1) Finder samtlige målscorer ved et "..DISTINCT.."-databasekald til
> > måltabellen. Og derefter for samtlige målscorere findes antallet af
> > forekomster i måltabellen ved brug af "count(*)...".
> >
> Prøv at kikke lidt på GROUP BY i din foretrukne SQL dokumentation
>
God ide! Tak for det. Flg. sql-sætning opfylder mine behov:
"select spillere.navn, mål.spillerID, count(*) as scoringer from mål,
spillere where spillere.id=mål.spillerID group by mål.spillerID order by
scoringer desc"

Kenneth



-Martin- (06-05-2002)
Kommentar
Fra : -Martin-


Dato : 06-05-02 13:44

On Mon, 6 May 2002 14:21:36 +0200, "Kenneth Brun Nielsen"
<kenneth@pbk.dk> wrote:

>
>"Peter Lykkegaard" <polonline@hotmail.com> skrev i en meddelelse
>news:3cd669c1$0$11941$edfadb0f@dspool01.news.tele.dk...
>>
>> "Kenneth Brun Nielsen" <kenneth@pbk.dk> wrote in message
>> news:ab5o4b$67v$1@eising.k-net.dk...
>> > Jeg sidder og overvejer hvordan jeg skal udarbejde en topscorerliste til
>> > vores fodboldhjemmeside.
>> >
>> > Jeg har alle spillere oprettet i en separat tabel, og alle målene
>oprettet
>> i
>> > en anden, hvor en af kolonnerne naturligvis er spillerID'en.
>> >
>> > Jeg overvejer pt. to løsninger:
>> >
>> > 1) Finder samtlige målscorer ved et "..DISTINCT.."-databasekald til
>> > måltabellen. Og derefter for samtlige målscorere findes antallet af
>> > forekomster i måltabellen ved brug af "count(*)...".
>> >
>> Prøv at kikke lidt på GROUP BY i din foretrukne SQL dokumentation
>>
>God ide! Tak for det. Flg. sql-sætning opfylder mine behov:
>"select spillere.navn, mål.spillerID, count(*) as scoringer from mål,
>spillere where spillere.id=mål.spillerID group by mål.spillerID order by
>scoringer desc"

Pas på med at bruge Å Æ Ø i dine kald kan MULIGVIS ikke altid virke :)

Så FROM mål as maal fx :)

Og for den egen skyld så sæt det op lidt ala

SELECT blabla, COUNT(*) FROM tabel WHERE blaa=blaa

Altså med mySQL's egne ord med stort.. er MEGET nemmere at overskue
hvis dit kald bliver STORT :)

Kenneth Brun Nielsen (06-05-2002)
Kommentar
Fra : Kenneth Brun Nielsen


Dato : 06-05-02 14:34


"-Martin-" <admin@DELETEnatten-i.dk> skrev i en meddelelse
news:jgucduc6t0e86ninldsg5lr43tssrq1vh1@4ax.com...

> Pas på med at bruge Å Æ Ø i dine kald kan MULIGVIS ikke altid virke :)
>
OK, men det virker i min situation...

> Så FROM mål as maal fx :)
>
> Og for den egen skyld så sæt det op lidt ala
>
> SELECT blabla, COUNT(*) FROM tabel WHERE blaa=blaa
>
> Altså med mySQL's egne ord med stort.. er MEGET nemmere at overskue
> hvis dit kald bliver STORT :)

Det vil jeg gøre fremover så - tak for rådet!

Greetings FROM kenneth



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste