기본 순위를 만들고 가장 많이 나오는 발표자의 결과를 가장 낮은 순위로 정렬하려고합니다.SQL Server : 계산하여 합계 및 순서를 계산하십시오.
groupCount 및 GROUP BY를 제거하면 제대로 작동하지만 다음과 같이 시도했지만 발표자 그룹에 포함시키지 못했습니다. 기본적으로 가장 많이 제시 한 사람 (groupCount의 최대 값)을 맨 위에 표시 한 다음 가장 낮은 순위 (예 : groupCount의 최소)를 표시하는 것이 가장 좋습니다. 지금까지
Msg 8120, Level 16, State 1, Procedure CountPresenters, Line 17
Column 'MeetingDetails.topic' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
내 저장 프로 시저 :이 어떤 도움, 팀에 대한
ALTER PROCEDURE [dbo].[CountPresenters]
@title nvarchar(200)
AS
BEGIN
SET NOCOUNT ON;
SELECT B.presenter,
B.topic,
A.meetingDate,
A.title,
COUNT(*) AS groupCount
FROM MeetingDetails B
INNER JOIN MeetingDates A
ON B.meetingID = A.meetingID
WHERE B.itemStatus = 'active'
AND A.title LIKE '%'[email protected]+'%'
GROUP BY B.presenter
ORDER BY groupCount desc, B.presenter, A.meetingDate desc
FOR XML PATH('presenters'), ELEMENTS, TYPE, ROOT('ranks')
END
많은 감사
내가 점점 오전 오류는 다음과 같다.
MAX (B.topic),? – StanislavL
조인과 관련이 없으므로 열을 집계하는 경우 모든 열도 집계되거나 그룹화되어야합니다. –