allo
ik heb een vraagje:
bv ik heb in een tabel forum_posts
dit staan

ID - - - - - - - - - - - hoort_bij - - - datum
5 - - - - - - - - - - - - 2 - - - -- - - - 05/09/06
6 - - - - - - - - - - - - 2 - - - -- - - - 06/09/06

en ik wil alles appart houder per 'hoort_bij' dus gebruik ik GROUP BY en ik wil ook degene uitkomen die het nieuwste is gepost in die tabel:

SELECT * FROM 'forum_posts' GROUP BY 'hoort_bij' ORDER BY 'datum' DESC

maar dan kom ik query ID 5 uit
kan iemand mij helpen?
Volgens mij is dat ook goed.
Anders eens ASC proberen.

Tip: Gebruik geen quotes om tabelnamen.
GROUP BY gebruik je eigenlijk alleen bij aggregate functions, zoals SUM, AVG en dergelijke. In dit geval kun je net zo goed zoiets doen:

SELECT ID, hoort_bij, datum
FROM forum_posts
ORDER BY hoort_bij ASC, datum DESC

dan krijg je ze op volgorde van hoort_bij eruit met de nieuwste datum eerst.
Oké, dan zo:

SELECT
    ID,
    hoort_bij,
    MAX(datum) AS laatste_datum
FROM
    forum_posts
GROUP BY hoort_bij
ORDER BY hoort_bij ASC
voor wat staat die AS laatste_datum daar?

srr voor noob vraagjes mss :)
als jij een lookup doet op datum, vraag je nu laatste_datum op.

het is puur een naampje geven aan wat je daarvor (MAX datum) hebt gedaan
en wat moet ik doen als ik dit nu heb :
ID - - - - - - - - - - - hoort_bij - - - datum
5 - - - - - - - - - - - - 2 - - - -- - - - 05/09/06
6 - - - - - - - - - - - - 3 - - - -- - - - 06/09/06
7 - - - - - - - - - - - - 3 - - - -- - - - 07/09/06
8 - - - - - - - - - - - - 2 - - - -- - - - 08/09/06

gegroepeerd met de hoogst datums?
Staat je datum zo in de database?

05/09/06 met 06 als zijnde 2006?

Dan heb je een foute manier van opslaan.
Datums stop je in een DATE of DATETIME veld.
Aanvulling: en het datumformat voor SQL is yyyy-mm-dd
ff opnieuw dan:

en wat moet ik doen als ik dit nu heb :
ID - - - - - - - - - - - hoort_bij - - - datum
5 - - - - - - - - - - - - 2 - - - -- - - - 2006-09-05
6 - - - - - - - - - - - - 3 - - - -- - - - 2006-09-06
7 - - - - - - - - - - - - 3 - - - -- - - - 2006-09-07
8 - - - - - - - - - - - - 2 - - - -- - - - 2006-09-08

welke query moet ik dan doen om dit uit te komen:


8 - - 2006-09-08
7 - - 2006-09-07

Reageren