我是用SQL Server编写查询的新手。 我正在努力解决如何创建由几个不同分区划分的行项目报告。 例如,我的起始数据示例如下所示:
pdheeid pdhcoid pdhpaygroup Union Code pdhdedcode pdheecuramt pdhpaydate
AJ5PTN0000K0 BWC0O 8F Union(Y/N) U5018 3.15 2018-01-05 00:00:00.000
AJ5PTN0000K0 BWC0O 8F Union(Y/N) U5018 3.15 2018-01-19 00:00:00.000
AJ5PTN0000K0 BWC0O 8F Union(Y/N) U5018 3.15 2018-02-02 00:00:00.000
AJ5PTN0000K0 BWC0O 8F Union(Y/N) U5018 3.15 2018-02-16 00:00:00.000
AJ5PTN0000K0 BWC0O 8F Union(Y/N) U5018 3.15 2018-03-02 00:00:00.000
AJ5Q1U0000K0 BWC0O 8G Union(Y/N) U5018 3.01 2018-01-05 00:00:00.000
AJ5Q1U0000K0 BWC0O 8G Union(Y/N) U5018 3.01 2018-01-19 00:00:00.000
AJ5Q1U0000K0 BWC0O 8G Union(Y/N) U5018 3.01 2018-02-02 00:00:00.000
AJ5Q1U0000K0 BWC0O 8G Union(Y/N) U5018 3.01 2018-02-16 00:00:00.000
AJ5Q1U0000K0 BWC0O 8G Union(Y/N) U5018 3.01 2018-03-02 00:00:00.000
从那里,我希望做一个几乎支点,以获得一个详细的输出
,如下所示:PayDate Pay Group Union Code Total Transactions Unique Employees Deduction Code Sum(dollars for group) Avg(across employees in the group)
然后能够按年份汇总它,这更像是:
YEAR(PayDate) Pay Group Union Code Total Transactions Unique Employees Deduction Code Sum(dollars for group) Avg(across employees in the group)
很抱歉菜鸟问题,我是SQL世界的新手,仍在努力跟上进度。
我正在使用您在详细输出中提供的列"名称"。很抱歉没有完全回答您的问题。这不会在分组中提供独特的员工,但我希望这是一个起点。
select
PayDate ,
Pay Group ,
Union Code ,
count(transactions) as Total Transactions
count(employees) as non-unique employees **
Deduction Code
Sum(dollars) as dollars for group
Avg(dollars) as across employees in the group
from some_table
group by
PayDate ,
Pay Group ,
Union Code ,
Deduction Code