FAST json extractor, subquery for re-use

1

Please login or register to vote for this query.

(click on this box to dismiss)

Woodworking

Q&A for professional and amateur woodworkers

WITH Raw AS (
  SELECT
    CAST(SUBSTRING(spl.value, 1, CHARINDEX(',', spl.value) - 1) AS INT)
      AS UserId,
    PostHistory.Id,
    PostHistory.PostHistoryTypeId,
    PostHistory.PostId
  FROM PostHistory
  CROSS APPLY STRING_SPLIT(Text, ':') spl
  WHERE
    PostHistory.PostHistoryTypeId BETWEEN 10 AND 13
    AND
    SUBSTRING(spl.value, 1, 1) BETWEEN '1' AND '9'
),
Raw2 AS (
  SELECT UserId, PostHistoryTypeId, COUNT(*) AS Count
  FROM Raw
  GROUP BY UserId, PostHistoryTypeId
)
SELECT *
FROM Raw2, PostHistoryTypes
WHERE
  Raw2.PostHistoryTypeId = PostHistoryTypes.Id
ORDER BY Count DESC, PostHistoryTypeId

Enter Parameters

Options:
Switch to meta site
loading Hold tight while we fetch your results