Hey,
Aan de hand van onderstaande query haal ik de actieve topics uit de database. Nu heeft elk topic een categorie (logisch). Wat ik nu wil is dat maximaal 5 berichten per categorie uit de database gehaald worden.
Dus dat je een lijst met categorieën krijgt en daaronder per categorie maximaal 5 actieve topics binnen de betreffende categorie.
Aangezien het om veel verschillende categorieën gaat wil ik dit bereiken door middel van 1 query (indien mogelijk natuurlijk).
Weet iemand hoe ik per "forum_cats.id" maximaal 5 berichten uit de database kan krijgen? Of moet ik dan voor elke categorie een aparte query maken (lijkt mij erg omslachtig)?
Aan de hand van onderstaande query haal ik de actieve topics uit de database. Nu heeft elk topic een categorie (logisch). Wat ik nu wil is dat maximaal 5 berichten per categorie uit de database gehaald worden.
Dus dat je een lijst met categorieën krijgt en daaronder per categorie maximaal 5 actieve topics binnen de betreffende categorie.
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| SELECT forum_posts.topicid, forum_topics.titel, forum_topics.sticky, forum_topics.gesloten, MAX(forum_cats.id) AS catid, MAX(forum_cats.titel) AS cattitel, MAX(forum_subcats.id) AS subcatid, MAX(forum_posts.id) AS maxid, DATE_FORMAT(MAX(forum_posts.datum), '%d-%m-%Y om %H:%i uur') AS datum, UNIX_TIMESTAMP(MAX(forum_posts.datum)) AS laatstereactieunix, (COUNT(forum_posts.id) - 1) AS reactieaantal FROM forum_posts INNER JOIN forum_topics ON forum_topics.id = forum_posts.topicid INNER JOIN forum_subcats ON forum_subcats.id = forum_topics.subcat INNER JOIN forum_cats ON forum_cats.id = forum_subcats.cat WHERE forum_topics.gesloten != '1' GROUP BY forum_posts.topicid, forum_topics.titel, forum_topics.sticky, forum_topics.gesloten ORDER BY forum_cats.id ASC, MAX(forum_posts.datum) DESC |
Aangezien het om veel verschillende categorieën gaat wil ik dit bereiken door middel van 1 query (indien mogelijk natuurlijk).
Weet iemand hoe ik per "forum_cats.id" maximaal 5 berichten uit de database kan krijgen? Of moet ik dan voor elke categorie een aparte query maken (lijkt mij erg omslachtig)?
[ Voor 4% gewijzigd door radem205 op 19-05-2010 21:21 ]