【发布时间】:2018-05-29 15:34:06
【问题描述】:
我有一个包含以下字段的 SQL 表:
- 公司编号
- 公司名称
- 财政年度
- 财政季度
每家公司都有多个会计年度和会计季度的记录。我想根据最大会计年度和最大会计季度检索每家公司的行。例如,如果表有以下内容:
Company ID | Company Name | Fiscal Year | Fiscal Quarter
1 | Test1 | 2017 | 1
1 | Test1 | 2017 | 2
1 | Test1 | 2018 | 1
1 | Test1 | 2018 | 2
2 | Test2 | 2018 | 3
2 | Test2 | 2018 | 4
查询应返回以下内容(仅具有该年度最大会计年度和最大会计季度的记录):
Company ID | Company Name | Fiscal Year | Fiscal Quarter
1 | Test1 | 2018 | 2
2 | Test2 | 2018 | 4
我可以使用以下查询来获取最大会计年度的记录,但不确定如何进一步选择一年中的最大季度:
SELECT fp.companyId, fp.companyname, fp.fiscalyear,fp.fiscalquarter
FROM dbo.ciqFinPeriod fp
LEFT OUTER JOIN dbo.ciqFinPeriod fp2
ON (fp.companyId = fp2.companyId AND fp.fiscalyear < fp2.fiscalyear)
WHERE fp2.companyId IS NULL
非常感谢您的帮助!
【问题讨论】:
-
你有CompanyName这个表吗?至少可以说,这似乎是一个规范化问题。
标签: sql sql-server max multiple-columns