[MySQL] Naam weergeven van laatste poster in topic*

Pagina: 1
Acties:

  • dikkuuhh
  • Registratie: Juli 2006
  • Laatst online: 12-08-2019
Ik heb een forum, en hierbij wil ik in een overzicht hebben per topic welke naam als laatste een post heeft achter gelaten.

Ik heb dit nu in twee aparte query`s, maar wil deze combineren naar één.

Dit heb ik nu:

SELECT MAX(ID) AS ID FROM `forum_reacties` WHERE topic_id = '1'

Die max sla ik op in een variabele "maxid" en daarna deze query

SELECT Naam WHERE topic_id = maxid

A werkt het niet en B is het te langzaam als het forum groot wordt... Wie helpt me??


Wie kan me helpen?

Groeten Koen

[ Voor 7% gewijzigd door dikkuuhh op 11-10-2006 18:29 ]


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 10:32
Zoek eens naar INNER JOINS.. meer dan genoeg over te vinden, inclusief hele duidelijke voorbeelden.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

SQL:
1
2
3
4
5
SELECT `Naam`
FROM `forum_reacties`
WHERE `topic_id` = jouwtopicid
ORDER BY `user_id`
LIMIT 1

:?

Dit heeft verder inderdaad een aardige performancehit op je server; je doet er beter aan om de data maar op te slaan in je tabel. Je hebt dan wat redundantie, maar in deze tijden van goedkope opslag lijkt dat me geen probleem. Dit soort denormalisatie wordt dan ook veelvuldig toegepast. :)

Overigens zegt "Query" als titel niet zoveel. ;) Ik pas je topictitel even aan, let je er de volgende keer zelf op? :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • EdwinG
  • Registratie: Oktober 2002
  • Laatst online: 12-02 21:01
Krijg je dan niet gewoon de langst/kortst geregistreerde gebruiker? :P

Bezoek eens een willekeurige pagina


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12-02 13:44
Je moet iets sorteren als ORDER BY postdata DESC zodat je alleen het laatste item krijgt.