Cette requête delow me donne une erreur:comment obtenir le top dix résultat en sql?
declare @date1 nvarchar(100) , @date2 nvarchar(100)
select @date1='2009-04-20', @date2='2009-05-20'
select top 10 t.VisitingCount , t.Page
from (
select Count(Page) as VisitingCount,Page
from scr_SecuristLog
where Date between @date1 and @date2
and [user] in (select USERNAME
from scr_CustomerAuthorities
)
group by Page order by [VisitingCount] desc
) t
Erreur:
La clause ORDER BY est invalide dans les vues, fonctions en ligne, les tables dérivées, les sous-requêtes et expressions de table commune, à moins que TOP ou FOR XML est également spécifié.
Quelque chose semble erroné ici étant donné la structure de la requête et l'utilisation des sous-requêtes. Peut vous suggérer de fournir les structures de table impliquées pour vous aider à fournir une solution. –
je change ma question .... – Penguen
J'ai vraiment compris l'utilisation de ORDER BY ici –