Resultaat query met Max(date)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

R R

R R

20/06/2010 13:22:49
Quote Anchor link
Ik heb een tabel met wedstrijden w, opstelling o, spelers s
Nu wil ik een overzicht waarin de oudste spelers worden getoond en in welke wedstrijd zij speelde op die leeftijd.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$sql = "SELECT
date_format(max(w.datum),'%d-%m-%Y') as datum,
datediff(max(w.datum),s.geboren) as leeftijd,
w.wid,
w.thuis,
w.uit,
w.thg,
w.uitg,
s.voornaam,
s.tussenvoegsel,
s.achternaam,
s.persid,
,(date_format(s.geboren,'%d-%m-%Y')) as geboren,
o.wid,
o.persid

from opstelling o,wedstrijden w,spelers s

    where w.wid=o.wid
    and o.persid=s.persid  
        
    GROUP BY o.persid
    
    order by leeftijd desc,achternaam asc limit 50;


Deze query geeft keurig van iedere speler de naam,geboortedatum van de speler, de leeftijd weer.
Maar geeft niet de wedstrijd weer waarin deze speler op die leeftijd actief was, maar de allereerste wedstrijd (moet de laatste zijn)

Waar zit de fout? Voeg ik bij Group by w.wid toe dan lukt het wel,
maar dan wordt er niet van iedere speler één wedstrijd getoond maar meerdere. vb. Speler A heeft in vier wedstrijden
gespeeld waarin hij 35 was. Speler B speelde zijn laatste toen hij 34 was. Ik wil speler A dus maar één keer zien.
Met de toevoeging van w.wid in de Group By wordt hij 4 keer getoond en dan pas speler B.
 
PHP hulp

PHP hulp

25/04/2024 14:41:27
 
Noppes Homeland

Noppes Homeland

20/06/2010 15:56:52
Quote Anchor link
De GROUP BY klopt van geen kant, dus kan er nooit een goed resultaat uit komen.

De voglende velden dienen in de GROUP BY te staan:
s.geboren
w.wid
w.thuis
w.uit
w.thg
w.uitg
s.voornaam
s.tussenvoegsel
s.achternaam
s.persid
o.wid,
o.persid

Je zult in mijn ogen de max in een subquerie moeten zetten in de from-clause
 
Joren de Wit

Joren de Wit

20/06/2010 16:11:46
 
R R

R R

21/06/2010 20:35:30
Quote Anchor link
@Blanche even doorgelezen. Zeker nuttig.

Alleen weet ik niet precies hoe ik nu verder moet. Suggestie van Noppes om de max in een sub-query te plaatsen kan best een goede wezen. Alleen zie ik even niet hoe deze in de praktijk te brengen. Sub-query's vind ik nog best een lastige materie.
Dus als iemand mij enigzins op weg kan helpen . . .
 
Noppes Homeland

Noppes Homeland

21/06/2010 21:23:25
Quote Anchor link
wat is dan het verschil tussen

from tabelnaam

en
select ikbendesubquery.ik
, ikbendesubquery.ben
, ikbendesubquery.subquery
from (
select ik
, ben
, subquery
from tabel) ikbendesubquery
 
R R

R R

21/06/2010 23:35:56
Quote Anchor link
Mis ik soms iets aan je voorbeeld . . of .. zie ik het echt niet. Kun je me wellicht aan de hand van mijn vraag proberen e.e.a. duidelijker te maken?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.