您好我正在尝试创建一个可以让我在多家公司中表现最佳的查询。
我有一张桌子,有几家公司,有些公司有一些公司,其他公司没有,所以我知道那些公司会表现最好。我想要一个查询来举例说。
CompanyTwo,Program One,12.85%
CompanyOne,Program Two,12.56%
公司二,计划三,1%
.....等等......
表格如下。
CompanyName,ProgramName,PerformancePercentage,ProgramYear
CompanyOne,Program One,10.04%,2015
CompanyOne,Program Two,12.56%,2015
公司二,计划一,12.85%,2015年 公司二,计划二,9.5%,2015年 公司二,计划三,1%,2015年
答案 0 :(得分:0)
您的查询有点复杂,需要2个查询或相关子查询。下面我提供了后者。
SELECT BestPerfByProg.program, Table1.company, BestPerfByProg.BestPerf
FROM Table1
INNER JOIN (SELECT Table1.program, Max(Table1.Performance) AS BestPerf
FROM Table1
WHERE table1.period = 2015
GROUP BY Table1.program
) AS BestPerfByProg ON (Table1.program = BestPerfByProg.program)
AND (Table1.Performance = BestPerfByProg.BestPerf)
ORDER BY BestPerfByProg.program;
如果你想把它分成两部分,从()之间的部分开始,并将其保存为BestPerfByProg