hallo allemaal. heb het volgende probleem:

Ik wil uit een tabel uit mijn database gegevens halen en van deze gegevens (biedingen) alleen het laatste (=hoogste) bod laten zien.

Tabel ziet er als volgt uit:
------------------------------
- Bod_id (sleutel)
- Veiling_id
- id
- Bod
- Datum_bod

De query die ik gebruik ziet er als volgt uit:
----------------------------------------------------
SELECT Veiling_id, Bod_id, Datum_bod, Bod FROM biedingen WHERE id = 27 GROUP BY Veiling_id, Bod, Datum_bod, Bod_id ORDER BY Datum_bod DESC


Dit geeft als resultaat ALLES uit de tabel weer. Ik wil echter van iedere (unieke) veiling_id het LAATSTE (= hoogste) bod zien. Ik heb al van alles geprobeerd, maar het mocht niet baten.


Wat heb ik geprobeerd:
----------------------------
- DISTINCT -> Werkt over de hele query en de weergegeven resultaten (ook wat ik niet wil zien) is uniek.

- Variaties met GROUP BY

- Variaties met MAX

Ik ben even door de ideeën heen. PLZ help. Hierbij ook een linkje naar het resultaat wat het dus niet moet zijn:

http://78.157.195.10/~k3ng/DuivenSite/plz_help.JPG


Ik weet niet zeker of het werkt:

SELECT Veiling_id, Bod_id, Datum_bod, MAX(Bod) As Bod FROM biedingen WHERE id = 27 GROUP BY Veiling_id, Datum_bod, Bod_id

@kitty, ik zou niet op datum bod enzo group by doen. dan krijg je ongeveer zoiets:

begin tabel:

veiling ID || Bod_ID || Datum-Bod   || Bod
     81      ||       1    ||  23-03-2009  || 15
     81      ||      2     ||  23-03-2009  || 20
     81      ||      3     ||  23-03-2009  || 25
     82      ||      4     ||  23-03-2009  || 50
     82      ||      5     ||  23-03-2009  || 60


Na de max en group by:

veiling ID || Bod_ID || Datum-Bod   || Bod
     81      ||      3     ||  23-03-2009  || 25
     82      ||      5     ||  23-03-2009  || 60


Na datum_bod en bod_id

veiling ID || Bod_ID || Datum-Bod   || Bod
     82      ||      5     ||  23-03-2009  || 60


Dan heb je dus alsnog niet het juiste resultaat
Ik heb het nog niet voor elkaar kunnen krijgen. Iemand nog ideeën?
SELECT 
        Veiling_id, 
        Bod_id, 
        Datum_bod, 
        Bod 
FROM 
        biedingen 
WHERE 
        id = 27 
ORDER BY 
        Bod DESC
LIMIT 1


Probeer dat eens? Ben niet zeker, maar dat zou toch al een resultaat in de buurt moeten geven....

Reageren