All User Tag Ranks by Location


Please login or register to vote for this query.

(click on this box to dismiss)

Stack Overflow Meta en español

Preguntas y respuestas sobre el sitio para programadores y profesionales de la informática

DECLARE @location varchar(255)
DECLARE @userId varchar(255)
SET @location = LOWER(CONCAT('%',rtrim(##CityName:string##),'%'))
SET @userId = rtrim(##UserId:string##)

SELECT V.tag, V.Rank
  SELECT R.tag, R.OwnerUserId, RANK() over (partition by R.OwnerUserId order by R.answerCount desc) as Rank
    SELECT value as tag, p.OwnerUserId, SUM(p.score) as answerCount
    FROM Users u
    JOIN Posts p ON p.OwnerUserId = u.Id
    INNER JOIN Posts q on = p.parentid
    CROSS APPLY STRING_SPLIT(REPLACE(REPLACE(REPLACE(q.tags, '><', ','), '<', ''), '>', ''), ',')
        LOWER(u.Location) LIKE @location
        AND p.posttypeid = 2 -- just answers
        AND value IN (
        SELECT B.value
          FROM Users iu
          JOIN Posts ip ON ip.OwnerUserId = iu.Id
          INNER JOIN Posts iq on = ip.parentid
          CROSS APPLY STRING_SPLIT(REPLACE(REPLACE(REPLACE(iq.tags, '><', ','), '<', ''), '>', ''), ',') B
              LOWER(iu.Location) LIKE @location
              AND ip.posttypeid = 2 -- just answers
              AND ip.OwnerUserId = @userId 
          GROUP BY B.value, ip.OwnerUserId
    GROUP BY value, p.OwnerUserId
  ) R
) V
WHERE V.OwnerUserId = @userId 
ORDER BY Rank, V.tag

Enter Parameters

Switch sites:
loading Hold tight while we fetch your results