gpt4 book ai didi

MySQL group by 没有聚合时

转载 作者:行者123 更新时间:2023-11-29 16:16:40 25 4
gpt4 key购买 nike

我有一个名为booking_details的表。

id  |   tour_id |   tour_fee|   booking_id
1 | 1 | 200 | 1
2 | 2 | 350 | 1
3 | 1 | 200 | 2
4 | 2 | 350 | 3

tour_id 指的是 Tours 表,booking_id 指的是 Bookings 表。我想要一份这样的报告

tour_id 1 指的是纽约旅游tour_id 2 指巴黎旅游

我需要生成这样的报告

tour name    |  total_income    |   number_of_bookings
New york tour| 400 | 2
Paris tour | 700 | 2

这里基本上是旅游名称、该旅游的总收入以及该旅游的预订数量。

到目前为止我所做的就是这些。但这给了我一个语法错误。我似乎无法按结果分组。

SELECT booking_details.*,Tours.name as name, count(Tours.id) FROM booking_details
inner join Tours on
booking_details.tour_id = Tours.id group by Tours.name;

如何使用 MySQL 实现此目的?

最佳答案

您在查询中使用了聚合count(),根据您的要求,它表明您需要聚合。当您使用聚合时,您还必须将选择列放入分组依据

   SELECT Tours.name as name,sum(tour_fee) income, count(Tours.id) 
FROM booking_details
inner join Tours on
booking_details.tour_id = Tours.id group by Tours.name

正如您在选择booking_details.*中使用的那样,这意味着预订表的每一列,但您尚未将这些列放入分组依据中,因此会引发错误

关于MySQL group by 没有聚合时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54744019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com