我想通过使用sql计算每个ID有多少个37
嗯。这需要取消激活数据、过滤和重新聚合。事实证明,使用apply非常简单: 您可以使用: 选择ID,将*计为cnt 从…起 挑选* 从mytable作为src 在【一月】、【二月】、【三月】、【四月】、【五月】、【六月】取消周一的投票, [七月],[八月],[九月],[十月],[十一月],[十二月]作为unpvt 其中col=37 按ID分组我想通过使用sql计算每个ID有多少个37,sql,sql-server,Sql,Sql Server,嗯。这需要取消激活数据、过滤和重新聚合。事实证明,使用apply非常简单: 您可以使用: 选择ID,将*计为cnt 从…起 挑选* 从mytable作为src 在【一月】、【二月】、【三月】、【四月】、【五月】、【六月】取消周一的投票, [七月],[八月],[九月],[十月],[十一月],[十二月]作为unpvt 其中col=37 按ID分组 很好,你对未来有计划,但到目前为止你尝试了什么,你有什么问题?请展示你迄今为止尝试了什么。你在抽签中击败了我: ID jan Feb Mar A
很好,你对未来有计划,但到目前为止你尝试了什么,你有什么问题?请展示你迄今为止尝试了什么。你在抽签中击败了我:
ID jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
13441 37 0 0 0 0 67 0 0 0 0 0 0
13555 37 0 97 0 0 0 0 0 0 0 0 0
15103 67 0 97 0 0 0 0 0 0 0 0 0
16019 37 0 97 0 0 0 0 0 0 37 67 97
12951 67 0 97 0 0 0 0 0 0 0 0 0
16351 37 0 37 67 0 0 0 0 0 0 37 67
13244 37 0 37 67 0 0 0 0 0 0 0 0
select t.*, c.cnt37
from t outer apply
(select count(*) as cnt37
from (values (jan), (feb), (mar), (apr), (may), (jun), (jul), (aug), (sep), (oct), (nov), (dec)
) v(val)
where val = 37
) c;