我的查询显示 heidisql 错误,不知道如何修复 [重复]

Posted

技术标签:

【中文标题】我的查询显示 heidisql 错误,不知道如何修复 [重复]【英文标题】:my query is showing heidisql error a dont know how to fix [duplicate] 【发布时间】:2019-08-28 11:05:03 【问题描述】:

SQL 错误 (1055):SELECT 列表的表达式 #2 不在 GROUP BY 子句中,并且包含在功能上不依赖于 GROUP BY 子句中的列的非聚合列“a.room id”;这与 sql_mode=only_full_group_by 不兼容

SELECT hotel_id,room_id,room_number,MAX(a.tc) AS "Count",MAX(tp) AS   "MostProfit" FROM
(SELECT hotel_id,rooms.room_id,room_number,COUNT(rooms.room_id) AS  "tc",SUM(room_price) AS "tp" FROM rooms JOIN bookings 
ON rooms.room_id = bookings.room_id
GROUP BY rooms.room_id) a GROUP BY hotel_id

trying to get the rooms of hotels that got the most profit in a query

【问题讨论】:

你真的需要解释你想做什么。这可能会让您感到惊讶,但没有功能的查询并不一定要表达您想要做什么。 its query 获取每家酒店利润最高的房间 ***.com/questions/41887460/…答案没用,不起作用 【参考方案1】:

错误信息暗示您需要将 group by 子句转换为

GROUP BY hotel_id, room_id, room_number

因为其他列 tctp 是聚合的,不需要包含在 group by 列表中,而 room_idroom_number 不是。

【讨论】:

以上是关于我的查询显示 heidisql 错误,不知道如何修复 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥heidisql 我的表明不能在库名下面显示

sqlyog和heidisql哪个好用

尝试使用 heidisql 在 mysql 中添加外键

如何在 Laravel 6 中转换原始 sql 查询?

heidisql 8.3怎么安装

用heidisql连接远程mysql数据库提示SQL错误1045,Access denied for...