J'ai une table dans laquelle j'ai plus de 1000 lignes, dans lequel il y a une colonne "AnaId", les valeurs de cette colonne sont répétées plusieurs fois comme le nom 003912 est répété 85 fois, nom 003156 dans 70 fois répété, je veux sélectionner maximum 20 lignes de chaque AnaID distinct. Je n'ai aucune idée de comment le faire.Sélectionnez seulement 20 lignes de chaque nom distinct
SELECT dbo.Analysis.AnaId, Analysis.CasNo, MoleculeId,
SUM(dbo.AnalysisSummary.Area) as TotalArea
FROM dbo.Analysis LEFT JOIN dbo.AnalysisSummary
ON dbo.AnalysisSummary.AnaId = dbo.Analysis.AnaId
WHERE dbo.Analysis.Sample like '%Oil%'
GROUP BY dbo.Analysis.AnaId,Analysis.CasNo, MoleculeId ORDER BY
TotalArea DESC
Grea t, maintenant vous pouvez regarder les réponses fournies par @GordonLinoff et @ChetanKulkami et l'adapter. 't' dans leurs réponses, vous pouvez remplacer avec votre requête. – Rokuto
Il est impoli de changer les questions après les avoir posées de manière à invalider les réponses. –
@GordonLinoff Désolé, je pensais qu'il n'est pas nécessaire de poster une requête aussi –