I am trying to create a query, to find the count of total number of answers (that I have give in stackoverflow) corresponding to each tag.
Through this, I am able to fin
Below query finds the total number of answers against each tag for a user. It does not consider the self-answered questions of the user, as it can give little additional count.
--Self answered questions dont count
select t.TagName, COUNT(q.Id) as countofAnsweredQuestions
from Posts q
inner join PostTags AS pt
ON pt.PostId = q.Id
inner join Posts a
on a.parentId = q.Id
inner join Tags as t
on pt.tagId = t.Id
where q.CommunityOwnedDate is null and q.ClosedDate is null
and a.OwnerUserId = ##UserId##
and q.OwnerUserId != ##UserId##
and a.postTypeId = 2
GROUP BY t.TagName
ORDER BY countofAnsweredQuestions desc
I have created permanent link for the query
If you're looking for the COUNT()
of your accepted answers for each tag then
SELECT T.TagName, COUNT(Q.Id) CntAcceptedAnswer
FROM Posts Q
JOIN PostTags PT ON Q.Id = PT.PostId
JOIN Tags T ON T.Id = PT.TagId
JOIN Posts A ON Q.AcceptedAnswerId = A.Id
WHERE A.OwnerUserId = <YourUserId>
AND A.PostTypeId = 2
AND Q.ClosedDate IS NULL
AND Q.DeletionDate IS NULL
GROUP BY T.TagName;
If you're looking for all your answers for each tag then
SELECT T.TagName, COUNT(A.Id) Cnt
FROM Posts A
JOIN Posts Q ON Q.Id = A.ParentId
JOIN PostTags PT ON Q.Id = PT.PostId
JOIN Tags T ON T.Id = PT.TagId
WHERE A.OwnerUserId = <YourUserId>
-- You can filter closed and deleted posts here as well if needed
GROUP BY T.TagName;
UPDATE:
For your update
I also need to find url of the questions, title and all the other tags related to that answer.
You could use the query as a subquery and join it with Posts
table to get the other columns as well.