我是 SQL SERVER 的新手,需要您的建议。 我有一张包含商店信息的大 table 。这是 bench_id 列:
**bench_id**
31
51
51
61
61
61
71
71
我创建了另一个包含两列的小表:
**distinct_bench** **number**
-----------------------------
31 1
51 2
61 3
71 2
第二个表的 NUMBER 列显示了 bench_id 的出现次数。 我试过这段代码:
insert into [dbo].BATCH_ID (batch_id, number)
select
distinct [dbo].big_table.batch_id,
(select count([dbo].big_table.batch_id) from [dbo].big_table)
from [dbo].big_table
但是无法得到我期望的 bench_id 出现次数的正确答案。 你能指出我做错了什么吗?
最佳答案
您需要有 GROUP BY
子句,因为您需要使用 COUNT()
来计算 benchID
的出现次数。
INSERT INTO BATCH_ID (distinct_bench), number)
SELECT benchID as distinct_bench, COUNT(*) number
FROM big_table
GROUP BY BATCH_ID
关于sql - 相似列出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15538639/