Sql 2008 top 10 de sum(XXX)

Résolu
emekm Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
emekm Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -


Bonjour,

J'ai créé une requete (sql 2008) pour obtenir top 10 des sites visités par mois.. donc dans ma base j'ai des données pour chaque jour du mois.. j'essaie donc dans un 1er temps d'additionner le nb fois visité pour chaque site pour avoir le total sur un mois, et par la suite d'obtenir le top 10.. le problème est que avec ma requete fonctionne mais pas comme je souhaite..

en fait, j'ai besoin avoir la date, site, et nb fois.. alors que ma requete fonctionne uniquement quand je le nb fois en premier.. car j'utilise "top 10"

SELECT     
top 10 sum([Number of pages visited]) as ttt
 , [Name of site]
 , REPLACE(UPPER(RIGHT(CONVERT(VARCHAR(11), Date, 106), 8)), ' ', '-')
FROM  TABLE_SITES
WHERE  
(Date >= @StartDateTime and Date < @EndDateTime)
group by 
[Name of site], REPLACE(UPPER(RIGHT(CONVERT(VARCHAR(11), Date, 106), 8)), ' ', '-')
order by ttt desc


---

j'ai essayé de modifier la requete avec 'where in' mais le resultat que j'obtient n'est pas bon

SELECT     
  REPLACE(UPPER(RIGHT(CONVERT(VARCHAR(11), Date, 106), 8)), ' ', '-')
  , [Name of site], 
  sum([Number of pages visited]) as ttt
FROM TABLE_SITES
WHERE  
(Date >= @StartDateTime and Date < @EndDateTime)
 and  [Number of pages visited] in 
 (  select top 10 ([Number of pages visited] ) from  [OBS_REPORTING].[dbo].SH_SITES ) 
group by   
REPLACE(UPPER(RIGHT(CONVERT(VARCHAR(11), Date, 106), 8)), ' ', '-'),  [Name of site]
order by ttt desc



Je vous remercie d'avance si vous pouvez m'aider ou donner une idée pour m'en sortir.
Merci beaucoup d'avance!
A voir également:

1 réponse

emekm Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   1
 
Re bonjour,

je m'auto-réponds... je cherchais depuis hier, et enfin j'ai trouvé la solution, je vous la mets au cas où ça peut servir à quelqu'un d'autre..

SELECT  top 10   
  REPLACE(UPPER(RIGHT(CONVERT(VARCHAR(11), Date, 106), 8)), ' ', '-')
  , [Name of site], 
  sum([Number of pages visited]) as ttt
FROM TABLE_SITES
WHERE  
(Date >= @StartDateTime and Date < @EndDateTime)
group by   
REPLACE(UPPER(RIGHT(CONVERT(VARCHAR(11), Date, 106), 8)), ' ', '-'),  [Name of site]
order by ttt desc
1