J'ai une table appelée NewsArticles ayant des colonnes ID, LanguageID, Date, Titre, ArticleContent. Je veux créer une vue qui sélectionne les 5 articles les plus récents de chaque langue dans la base de données. Par exemple, si j'ai 3 langues, par exemple, l'anglais, le français et l'allemand, la requête devrait renvoyer 15 enregistrements, contenant les 5 derniers articles en anglais, le 5 ... vous obtenez l'image. Comment puis-je construire une telle requête?Comment sélectionner au plus N enregistrements pour une valeur donnée d'une colonne dans une table?
Pour chaque LanguageID unique dans NewsArticles, retourner les 5 premiers enregistrements classés par Date décroissante.
Je préférerais utiliser des jointures si possible. –
Puis-je demander pourquoi? Les CTE sont extrêmement puissants et probablement la meilleure chose que MS ait jamais ajouté à TSQL. –
@Jake, il n'y a aucun avantage à utiliser des jointures. La réponse de @ Pavel est certainement la meilleure façon de le faire. C'est le plus rapide, le plus propre et le plus facile à gérer. – IamIC