mysql - 遇到 SQL 错误 1111 的问题

标签 mysql sql group-by mysql-error-1111

我正在创建一个客户有多个预订的实例。为此,每次在预订表中多次列出客户编号时,这表示他们有多个预订(这也是条件)。不幸的是,当我尝试运行此查询时,我得到:

Error Code: 1111 (Invalid use of group function).

这是我在下面所做的。

SELECT FirstName, LastName, tripName
FROM reservation, customer, trip
WHERE reservation.CustomerNum = customer.CustomerNum
AND reservation.TripID = trip.TripID
AND COUNT(reservation.CustomerNum) > 1
GROUP BY reservation.CustomerNum;

我是 SQL 的新手,任何建议都会很有帮助。

最佳答案

您需要编写正确的联接,使用别名有助于保持内容的可读性并节省您的额外击键次数,并且您需要使用类似这样的方法将结果限制为具有多个保留的结果:

select FirstName, LastName, tripName
from customer c 
  inner join reservation r
    on c.CustomerNum = r.CustomerNum
  inner join trip t
    on r.TripID = t.TripID
where c.CustomerNum in (
  select ir.CustomerNum
  from reservation ir
  group by ir.CustomerNum
  having count(*) > 1
  )

关于mysql - 遇到 SQL 错误 1111 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005017/

相关文章:

MySQL 字段保存发货国家/地区列表

mysql - 将排名结果与自身进行比较,如果相等则附加 '='

python - 使用 pandas 聚合基于其他列的结果

python - 在 Pandas 中分组

mysql - 数据库 : aggregation vs storing pre computed data for lookup in large data store?

mysql - 我可以在使用 MariaDB 或 MySQL 更新多个不同行的同时插入到表中吗?

mysql - 优化缓慢的 MySQL 选择查询

mysql - 如何查询 mysql 表以获取列的当前值和当天的最大值

php - 当值为 null 时查询出现问题

MYSQL:计算特定整数出现在列中的次数,然后计算其中有多少出现?