[MySQL] - Probleem met MAX en GROUP BY

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andries Louw Wolthuizen

Andries Louw Wolthuizen

26/03/2007 22:25:00
Quote Anchor link
Ik heb een probleem, ik ben bezig met het maken van een forum, en heb de volgende query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT forum_question.*, phpmylogon.name AS name, COUNT(forum_answer.id) AS reply, MAX(forum_answer.datetime) AS last_reply
FROM forum_question, phpmylogon, forum_answer
WHERE forum_question.phpmylogon_id = phpmylogon.id
AND forum_question.id = forum_answer.question_id
ORDER BY last_reply ASC


Ik wil dus het volgende:
Alle topic's
- Topic titel
- De naam van degene die hem geplaatst heeft
- Het aantal reacties
- De datum van de laatste reactie
- Gesorteerd op de datum van de laatste reactie

Dit het liefst in 1 query.

De volgende query gaat goed, echter mis ik hier de datum van de laatste reactie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT forum_question.*, phpmylogon.name AS name, COUNT(forum_answer.id) AS reply
FROM forum_question, phpmylogon, forum_answer
WHERE forum_question.phpmylogon_id = phpmylogon.id
AND forum_question.id = forum_answer.question_id


Mijn tabellen:

forum_question (topics)
- id
- titel
- tekst
- phpmylogon_id

forum_answer (reacties op topics)
- id
- question_id
- tekst
- phpmylogon_id
- datetime

phpmylogon (loginsysteem)
- id
- name

Zoals jullie zien heb ik de tabellen eerst zo eenvoudig mogelijk gehouden, de phpmylogon tabel wordt later uitgebreid.

Zouden jullie kunnen helpen? Ik kom er zelf niet meer uit, volgens de foutmelding moet ik de group by query gebruiken, echter kom ik er maar niet uit hoe.

Eigenlijk zoek ik dus een query zoals phphulp.nl hem gebruikt voor het forum overzicht.
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
 
PHP hulp

PHP hulp

29/11/2020 14:18:56
 
Jan Koehoorn

Jan Koehoorn

26/03/2007 22:28:00
Quote Anchor link
Je datamodel klopt niet. Waarom een veld 'tekst' in de tabel forum_question en nogmaals in de tabel forum_answer? Maak twee tabellen: topics en posts. De post met de vroegste DATETIME is de eerste in een topic.
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

26/03/2007 22:30:00
Quote Anchor link
@Jan:
Dus, de eerste post, wordt de post van de topicstarter? Dat is best wel slim, had ik nog niet over nagedacht. Ik ga eens kijken of het me nu lukt.
 
Jan Koehoorn

Jan Koehoorn

26/03/2007 22:31:00
Quote Anchor link
Ja, precies :-)
 



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.