0

どのようにこれを行いますか:

Tim   ...
Tim   ...
Henry  ...
Henry  ...
Henry ...

最初の列にこれらの名前を含むテーブルがあり、新しい列 X を追加することに興味があります。

0.5
0.5
0.333
0.333
0.333

新しい列の合計を計算する場合、最初の列の個別のエントリの数を数えます。ありがとうございました!

4

2 に答える 2

2

以下を使用できます。

select name,
  1.0 / count(name) over(partition by name) as X
from yourtable

デモで SQL Fiddle を参照してください

于 2013-02-13T10:45:19.257 に答える
1

してみてください:

select 
 [Name], 1.00/count(*) 
from YourTable 
group by [Name]

サンプル:

declare @testTable table (Name varchar(10))

insert into @testTable
select 'A' UNION ALL
select 'A' UNION ALL
select 'A' UNION ALL
select 'B' UNION ALL
select 'B'

SELECT 
    [Name], 1.00/count(*) 
FROM @testTable 
GROUP BY [Name]
于 2013-02-13T10:44:33.360 に答える