mysql - SELECT * FROM `message` WHERE `read_status` =0 AND `reciever` = 'admin-1' GROUP BY `message_thread_code`
问题描述
你能帮我解决这个问题吗?
SELECT * FROM `message`
WHERE `read_status` =0 AND `reciever` = 'admin-1' GROUP BY `message_thread_code`
SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含在功能上不依赖于 GROUP BY 子句中的列的非聚合列“3434_decu.message.message_id”;这与 sql_mode=only_full_group_by 不兼容
解决方案
您的查询不包含任何聚合列,因此GROUP BY
没有任何意义——mysql 解析器不知道如何处理它。(ONLY_FULL_GROUP_BY
错误不完全是问题。)
因此,例如,如果您尝试计算满足条件的行,您将使用:
SELECT COUNT(*) FROM message
WHERE read_status =0 AND reciever = 'admin-1'
GROUP BY message_thread_code
如果您只想返回过滤后的列表,请不要使用GROUP BY
:
SELECT * FROM message WHERE read_status =0 AND reciever = 'admin-1'
如果没有,请尝试编辑您的问题以指示您希望收到的输出。
推荐阅读
- java - Android CRUD MediaStore API 26+
- visual-studio - 从 msbuild 命令行控制 Windows SDK 版本?
- programming-languages - 上下文无关语法设计 - 为什么不允许这样做?
- sql - 获取保存在多行中的相应代码
- docker - Rancher中启动pod后如何注册gitlab runner
- html - css 悬停返回过渡
- mysql - 带有多个 SELECT 语句的 SQL IF ELSE
- javascript - 我尝试使用 selenium java 一个一个地打开多个链接,但是在做时我得到了陈旧的元素引用异常
- amazon-web-services - AWS 应用程序负载均衡器:503 网关超时
- java - 我想为长值创建一个线程安全的