【发布时间】:2015-01-01 00:03:50
【问题描述】:
我只是想做一个计数(每个客户的汽车)
所以我尝试这样:
SELECT tbl_Clients.FirstName, tbl_Clients.LastName, tbl_Clients.Phone,
COUNT(*) AS VehiculeTotal
FROM tbl_Contrat
INNER JOIN tbl_Clients ON tbl_Contrat.Client = tbl_Clients.ID
GROUP BY tbl_Contrat.Client
和简单的方法:
SELECT FirstName, LastName, Phone, COUNT(*) AS VehiculeTotal
FROM tbl_Clients, tbl_Contrat GROUP BY Client
但看起来我遇到了同样的问题:
Column 'tbl_Clients.FirstName'(LastName and phone too) is invalid in the
select list because it is not contained in
either an aggregate function or the GROUP BY clause.
但不想按他们分组
我也需要显示名字、姓氏和电话!
请帮忙
【问题讨论】:
-
您可以将它们包含在
GROUP BY中。如果您已经按(可能是唯一的)客户端 ID 进行分组,那么包含不太唯一的FirstName、LastName和Phone也是无害的。试试看,你会看到的。 -
另外,由于您收到一条需要
GROUP BY的消息,我假设您使用的是SQL Server 而不是 使用的是MySQL。如果是这样,请从您的问题中删除 MySQL 标签。
标签: mysql sql-server count inner-join