Sql 相似列的出现次数

Sql 相似列的出现次数,sql,sql-server,count,sql-insert,Sql,Sql Server,Count,Sql Insert,我是SQL SERVER新手,需要您的建议。 我有一张大桌子,上面有商店信息。以下是工作台id列: **bench_id** 31 51 51 61 61 61 71 71 我创建了另一个包含两列的小表: **distinct_bench** **number** ----------------------------- 31 1 51 2 61

我是SQL SERVER新手,需要您的建议。 我有一张大桌子,上面有商店信息。以下是工作台id列:

**bench_id**
31
51
51
61
61
61
71
71
我创建了另一个包含两列的小表:

**distinct_bench**           **number**
-----------------------------

31                               1
51                               2
61                               3
71                               2
第二个表的“编号”列显示了工作台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
但无法得到正确的答案,我期待与板凳_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 

嘿,谢谢你!还有一个问题,如果在更新big_table.bench_id时,如何更新BATCH_id表?有什么可能的方法吗?嗯,什么意思
BATCH\u ID
也会更新?您的意思是要删除表中的那些重复项吗?不,我的意思是,当新代码插入到“大表.批处理id”列中时,如何使新代码在小表中也可见?