Ik heb een tabel met Items
[Item]
- ID
- categoryID
- title
- date
(rest is weggelaten, even niet belangrijk)
verder heb ik ook een tabel Gategory
[Category]
- ID
- name
Wat is wil is van alle categorien de laatste 3 items weergeven. Het liefste doe ik dat met een query, omdat ik anders voor iedere categorie een query moet doen.
Nu heb ik alle items, gesorteerd op categorienaam en op titel. Maar wat ik wil is per categorie alleen de laatste 3 ophalen.
Hoe doe ik dat? Ik zit te denken aan een groep-by, maar daarmee krijg je maar een resultaat per groep, en ik wil er 3. Iemand een idee?
[Item]
- ID
- categoryID
- title
- date
(rest is weggelaten, even niet belangrijk)
verder heb ik ook een tabel Gategory
[Category]
- ID
- name
Wat is wil is van alle categorien de laatste 3 items weergeven. Het liefste doe ik dat met een query, omdat ik anders voor iedere categorie een query moet doen.
code:
1
2
3
4
| SELECT Category.name, Item.title FROM Item LEFT JOIN Category ON Item.categoryID = item.ID ORDER BY Category.name ASC, Item.date DESC |
Nu heb ik alle items, gesorteerd op categorienaam en op titel. Maar wat ik wil is per categorie alleen de laatste 3 ophalen.
Hoe doe ik dat? Ik zit te denken aan een groep-by, maar daarmee krijg je maar een resultaat per groep, en ik wil er 3. Iemand een idee?