我以前从未使用过 TSQL,但我决定无论如何我都想在 SO数据转储中四处寻找。所以这可能是一个菜鸟问题。我确实尝试搜索答案,但我不知道我正在尝试做什么的技术术语,并且如果您没有正确的关键字,搜索只会很好。
我的目标是找出有多少问题得分为 0,多少问题得分为 1,多少问题得分为 2,等等。我可以写一个查询来找出那些个人计数,没问题。不过,我希望能够运行包含循环的查询。这是我目前使用的:
DECLARE @counter int
SET @counter = 0
WHILE @counter < 3
BEGIN
SELECT
COUNT(*)
FROM
Posts
WHERE
PostTypeId = 1
AND
Score = @counter
SET @counter = @counter + 1
END
(编辑:最终目标是从 [0, 3] 扩展到 [-100, 1000] 或解决所有现有问题所需的任何东西)显然,我的问题是我在循环的每个循环中都抓住了计数然后什么也不做。@counter
目前,我得到的结果只是最初设置的计数;迭代次数无关紧要。是否可以将结果存储在某处,然后显示为:
+-------+--------------------------------+ | 分数 | NumberOfQuestionsWithThatScore | +-------+--------------------------------+ | -10 | 111 | +-------+--------------------------------+ | -9 | 0 | +-------+--------------------------------+ | -8 | 248 | +-------+--------------------------------+ | ... | ... | +-------+--------------------------------+
(编辑:任何合理清晰的显示都可以,上表只是一个示例;编辑 2:修改了表格的设计以消除持续的混乱)
如果是这样,这叫什么,它是如何完成的?