出现的类似列数

时间:2013-03-21 02:54:27

标签: sql sql-server count sql-insert

我是SQL SERVER的新手,需要你的建议。 我有一张带商店信息的大桌子。这是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事件的数量。 你能指出我做错了什么吗?提前谢谢你!

1 个答案:

答案 0 :(得分:2)

您需要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