これは、私が昨日尋ねたことに基づいて改善された質問であり、ピボット テーブルは複雑すぎて私が必要としているものではないと判断しました。各ユーザーが完了したチケットの数を示す次のコードがあります。
昨日の同様の投稿 ( https://stackoverflow.com/users/2291321/ydaetskcor ) からのアドバイスから、次のように動作するように単純化することが提案されました。
SELECT Names, COUNT(Names)
FROM Table1
GROUP BY Names
以下のコードを取得してボールをプレイしようとしているにもかかわらず、以下のコードを取得してリスト内の各ユーザーの数を表示する方法を見つけるのにまだ苦労しています。
以下のコードはユーザーの長いリストを表示しますが、何らかの理由で一意のユーザーの数を表示できません (そして、これが比較的単純な sql であることはわかっています!):
DECLARE @StartDate DateTime;
DECLARE @EndDate DateTime;
-- Date format: YYYY-MM-DD
SET @StartDate = '2013-11-06 00:00:00'
SET @EndDate = GETDATE() -- Today
SELECT (select Username from Membership where UserId = Ticket.CompletedBy) as TicketStatusChangedBy
FROM Ticket INNER JOIN
TicketStatus ON Ticket.TicketStatusID = TicketStatus.TicketStatusID INNER JOIN
Membership ON Ticket.CheckedInBy = Membership.UserId
WHERE TicketStatus.TicketStatusName = 'Completed' and Ticket.ClosedDate >= @StartDate --(GETDATE() - 1)
and Ticket.ClosedDate <= @EndDate --(GETDATE()-0)
ORDER BY Ticket.CompletedBy ASC, Ticket.ClosedDate ASC
以下を表示します
Paul
Matt
Matt
Bob
Matt
Paul
Matt
Matt
... (could be many different users)
理想的には、ユーザーがリストに含まれる回数を表示したいと考えています。
Paul | 2
Matt | 5
Bob | 1