[MSSQL] SELECT begrenzen auf 2 Ergebnisse pro gleicher ID

desmoloch

Mitglied
hi

ich habe folgende News Tabelle:


Code:
NewsID | Ueberschrift |     Text     | KategorieID
1          | Uschrift 1     |  1. Text    |   1
2          | Uschrift 2     |  2. Text    |   1
3          | Uschrift 3     |  3. Text    |   1
4          | Uschrift 4     |  4. Text    |   2

Nun möchte ich mir alle NewsID´s, Überschriften und Texte ausgeben lassen. Allerdings mit der Beschränkung das KategorieID nur max 2 mal doppelt sein soll.
Sinn der Sache:
Zeige die 2 neuesten Nachrichten zu jeder Kategorie.
Ist das mit einem MSSQL SELECT zu machen oder muss ich da zu jeder KategorieID ein SELECT machen mit "Top 2"?

mfg Desmo
 
hi

danke :)
Aber der SQL ist ja so nicht begrenzt auf 2 identische KategorieID´s maximal
SQL:
SELECT Text
FROM News
GROUP BY KategorieID, Text
HAVING Count(KategorieID) <=2;
gibt mir auf jeden Fall alle News aus!


So eben nochmal folgendes Versucht:
SQL:
SELECT KategorieID, Count(*) AS Anzahl
FROM News
GROUP BY KategorieID
HAVING Count(*) <= 2;
Nur da bekomme ich alle KategorieID´s die nur 2 oder weniger Nachrichten haben. Mir ist aber eigentlich schnuppe ob es 2 oder mehr sind, ich möchte aber eben nur max 2 anzeigen lassen :)
 
Zuletzt bearbeitet:
Zurück