我是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事件的数量。 你能指出我做错了什么吗?提前谢谢你!
答案 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