Solved

not contained in either an aggregate function or the GROUP BY clause ERROR

Posted on 2008-06-14
3
3,437 Views
Last Modified: 2012-08-14
I am trying to get a list of the top 10 items viewed solutions in my knowledge base. I do this by getting the count of records in the solution_rating__c table joined to the solution table record which has the KB article. The solution_rating table gets a new insert every time the article is viewed. So I tried to put together the query below, but can't figure out how to get the results to sort by the aggregate count of soltuion_ratings for each solution record.

Thanks
select top 10 count(sr.solution__c ) as thecount, sr.solution__c ,

s.solutionname, p.[name]

from dbo.solution_rating__c sr

join solution s on sr.solution__c = s.id

left outer join dbo.product_group__c p

on s.product_group__c = p.id

group by  thecount, sr.solution__c ,s.solutionname, p.[name]

Open in new window

0
Comment
Question by:advlgx
3 Comments
 
LVL 6

Expert Comment

by:DocCan11
ID: 21786144
if you want to use the TOP clause you should have an order by clause so it sorts them..
0
 
LVL 2

Accepted Solution

by:
osiara earned 500 total points
ID: 21786146

select top 10 thecount, solution__c, solutionname, name from (

select count(sr.solution__c ) as thecount, sr.solution__c ,

s.solutionname, p.[name]

from dbo.solution_rating__c sr

join solution s on sr.solution__c = s.id

left outer join dbo.product_group__c p

on s.product_group__c = p.id

grou p by  thecount, sr.solution__c ,s.solutionname, p.[name]

) as pom

order by thecount

Open in new window

0
 

Author Closing Comment

by:advlgx
ID: 31467220
Awesome, thanks
0

Featured Post

Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

Join & Write a Comment

JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now