3

私はSQLSERVERを初めて使用するので、何かアドバイスが必要です。店舗情報のある大きなテーブルがあります。これがbench_id列です:

**bench_id**
31
51
51
61
61
61
71
71

2つの列を持つ別の小さなテーブルを作成しました。

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

31                               1
51                               2
61                               3
71                               2

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 に答える