2010-11-23 7 views
1
SELECT SearchTerm, CustomerID, CreatedOn 
FROM   SearchLog 
WHERE  CreatedOn >= DATEADD(DAY, DATEDIFF(Day, 0, GETDATE()), -5) 
GROUP BY SearchTerm, CustomerID, CreatedOn 

COUNT (SearchTerm)이 될 하나 이상의 열을 추가하고 주로 searchterm을 통해 쿼리를 주문하고 싶습니다. 열은 검색기가 검색된 횟수를 말해야합니다. 당신의 도움이상위 검색어 및 해당 주문을 계산하는 SQL 쿼리

답변

0

에 대한 덕분에 내가

SELECT d1.CustomerId,SearchTerm,CreatedOn,d1.TimesSearched 
FROM 
(
    SELECT CustomerID, COUNT(SearchTerm) as TimesSearched 
     FROM SearchLog 
     WHERE CreatedOn >= DATEADD(DAY, DATEDIFF(Day, 0, GETDATE()), -5) 
     GROUP BY CustomerID 
     ORDER BY COUNT(SearchTerm) desc 
) as d1 inner join SearchLog on 
    d1.CustomerID=SearchLog .CustomerId 
+0

를 하나 있지만, 아래에 동일한 searchterm – Laziale

+0

업데이트 된 응답이 있습니다 ... – Vishal

+0

에 의해 귀하의 그룹에있는 문제가 여전히 동일합니다. 검색어는 DESC로 정렬되어 있습니다. 숫자는 각 열 – Laziale

0

가 또는 타임 스탬프없이 CreatedOn가 correctly- 이해한다면 잘못하여이 그룹을보십시오? 그것은 단지 날짜 부분이 있다면 당신은 할 수 :

SELECT s.SearchTerm, s.CustomerID, s.CreatedOn, COUNT(1) AS search_count 
FROM  SearchLog s 
WHERE CreatedOn >= DATEADD(DAY, DATEDIFF(Day, 0, GETDATE()), -5) 
GROUP BY s.SearchTerm, s.CustomerID, s.CreatedOn 
ORDER BY COUNT(1) 

가, 그렇지 않으면 당신은 어떻게 든 타임 스탬프를 제거 할 필요가 (나도 몰라 당신의 SQL 언어를) 나는 각 열에 대해 1을 얻고있다

관련 문제