Access SQL的一个问题

要求如下:

The average performance rating (with descriptor associated to the rounded value) by department and sorted lowest to highest.

然后有两个Table,一个Table里包括Performance rating,department的信息,另一个表格是Performance rate以及对应的descriptor。想问一下SQL语句怎么写才对?

我自己写的是

Select Performance_rating, department, descriptor

From Table1

INNER Join Table2

On Table1.Performance_rating = Table2.Performance_rate

Order By Department

 

但是运行了报错说需要Department有aggregate_function

想问一下怎么解决,谢谢。

根据你的需求,需要用到聚合函数来计算每个部门的平均性能评级。修改你的SQL语句如下:

SELECT Table1.department, ROUND(AVG(Table1.Performance_rating), 0) AS avg_performance_rating, Table2.descriptor
FROM Table1
INNER JOIN Table2 ON Table1.Performance_rating = Table2.Performance_rate
GROUP BY Table1.department, Table2.descriptor
ORDER BY avg_performance_rating;

这个SQL语句将根据部门和描述符计算平均性能评级,并按照升序排序,其中ROUND函数用于将平均值四舍五入到最接近的整数。