首页 > 解决方案 > mysql 查询组不使用 mysql 版本 10.2.22 mariaDB

问题描述

MySQL 查询在实时服务器 mysql 版本 10 MyCode 上不起作用:

SELECT *, MIN(tbl_room_inventory.rin_number_of_rooms) AS min_room, MAX(tbl_room_inventory.rin_temp_number_of_rooms) AS max_temp_room
FROM tbl_room_type,tbl_room_inventory
WHERE tbl_room_type.room_id=tbl_room_inventory.room_id AND
      tbl_room_type.room_status=1 AND
      tbl_room_inventory.rin_date BETWEEN 1551117600 AND 1551204000
GROUP BY tbl_room_type.room_id
HAVING MIN(tbl_room_inventory.rin_number_of_rooms)>0
ORDER BY tbl_room_type.room_tariff ASC

相同的代码在本地服务器上正常工作。但不能在实时服务器上工作。

这是实时服务器的错误: 在此处输入图像描述

这是mysql 5的工作结果

在此处输入图像描述

标签: phpmysqlmariadbversion

解决方案


您可以尝试禁用only_full_group_by

设置全局

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

推荐阅读