Ik heb een tabel die op de volgende manier is opgebouwd (overbodige info weggelaten dan):
--------------------------
- id - categorie - datum -
--------------------------
In totaal bestaan er drie verschillende categorien, dus in elke row staat 1 van die drie opties in de kolom categorie.
Ik gebruik op dit moment de volgende query:
SELECT id,categorie,datum FROM nieuws ORDER BY categorie,datum DESC
Zoals je kunt zien sorteer ik eerst op categorie en daarna op datum.
Nu wil ik het volgende: dat de query steeds maximaal 15 van eenzelfde categorie er maar uithaalt, ook al zijn er meer (dus 45 rows in totaal uiteindelijk). Het volgende moet er dus uitkomen:
--------------------------
- id - categorie - datum -
--------------------------
nu 15 rows met results van categorie 1 op datum gesorteerd
--------------------------
nu 15 rows met results van categorie 2 op datum gesorteerd
--------------------------
nu 15 rows met results van categorie 3 op datum gesorteerd
--------------------------
Ik weet niet of dit me 1 query mogelijk is. Weet iemand dat misschien? Je moet dus als het ware 3 keer LIMIT gebruiken binnen de query...maar hoe precies, is dat wel mogelijk? Of moet ik drie queries maken met:
SELECT id,categorie,datum FROM nieuws WHERE categorie='categorie1' ORDER BY datum DESC LIMIT 15 (en dat dan drie keer met steeds een andere categorienaam)?
--------------------------
- id - categorie - datum -
--------------------------
In totaal bestaan er drie verschillende categorien, dus in elke row staat 1 van die drie opties in de kolom categorie.
Ik gebruik op dit moment de volgende query:
SELECT id,categorie,datum FROM nieuws ORDER BY categorie,datum DESC
Zoals je kunt zien sorteer ik eerst op categorie en daarna op datum.
Nu wil ik het volgende: dat de query steeds maximaal 15 van eenzelfde categorie er maar uithaalt, ook al zijn er meer (dus 45 rows in totaal uiteindelijk). Het volgende moet er dus uitkomen:
--------------------------
- id - categorie - datum -
--------------------------
nu 15 rows met results van categorie 1 op datum gesorteerd
--------------------------
nu 15 rows met results van categorie 2 op datum gesorteerd
--------------------------
nu 15 rows met results van categorie 3 op datum gesorteerd
--------------------------
Ik weet niet of dit me 1 query mogelijk is. Weet iemand dat misschien? Je moet dus als het ware 3 keer LIMIT gebruiken binnen de query...maar hoe precies, is dat wel mogelijk? Of moet ik drie queries maken met:
SELECT id,categorie,datum FROM nieuws WHERE categorie='categorie1' ORDER BY datum DESC LIMIT 15 (en dat dan drie keer met steeds een andere categorienaam)?