在sql server中,我尝试按每个销售人员对一些信息进行分组,如下所示:
我有两张table:职位和客户
在positions表中,我有以下列:client\u id、balance、acquisition\u cost,在clients表中我使用以下列:client\u id和sales\u person。
我想按销售人员(客户表)分组客户id、余额、购置成本(职位表)
我试过这个:
SELECT Positions.Client_ID, Positions.Balance, Positions.Acquisition_cost
FROM Positions
INNER JOIN Clients ON Positions.Client_ID = Clients.Client_ID
GROUP BY Sales_person
它告诉我“positions.client\u id在select列表中无效,因为它既不包含在聚合函数中,也不包含在groupby子句中”。
我很清楚,我对sql是个新手,所以这对我来说没什么意义。
4条答案
按热度按时间aiazj4mn1#
您需要在group by子句中添加positions.client\ id,因为select需要此列,如果您确实不想在select中添加positions.client\ id,则无需在group by子句中添加
eqzww0vc2#
在你的专栏里
SELECT
你不包括在GROUP BY
,您需要使用某种聚合函数(MAX
,SUM
,等等)。所以你可以这样写:如果您只需要按销售人员而不是按客户id列出的合计,您可以从列表中删除客户id
SELECT
以及GROUP BY
:uxh89sit3#
zlwx9yxi4#
谢谢你们,这里的代码在这种情况下对我有效: