3

我是 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 的出现次数得到我期望的正确答案。你能指出我做错了什么吗?

4

1 回答 1

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 
于 2013-03-21T02:56:29.647 回答