我有一个这样的表,我正在使用SSMS从多个表构建查询:
2016-09-20 Mike 8
2016-09-20 Dave 8
2016-09-20 John 8
2016-09-20 Mike 8
2016-09-21 John 8
2016-09-22 Dave 8
我需要这个结果(需要计算在同一日期重复名称的次数,并在结果之间划分第3列值):
2016-09-20 Mike 4 -- bold
2016-09-20 Dave 8
2016-09-20 John 8
2016-09-20 Mike 4 -- bold
2016-09-21 John 8
2016-09-22 Dave 8
答案 0 :(得分:0)
我相信这是你正在寻找的:
select
date_column,
name_column,
int_column/count(*) over (partition by date_column, name_column) AS int_result
from yourtable
介绍窗口函数count(*)
,它会计算具有相同date_column, name_column
的行,并将int_column
除以结果。
结果:
date_column | name_column | int_result
-------------+-------------+-----------
2016-09-20 | Dave | 8
2016-09-20 | John | 8
2016-09-20 | Mike | 4
2016-09-20 | Mike | 4
2016-09-21 | John | 8
2016-09-22 | Dave | 8