mysql - 这句sql 为什么不能查询出所有的 qdwyc_zlgs的信息,总是查出两条?不是应该三条吗?
高洛峰
高洛峰 2017-04-17 15:58:16
[MySQL讨论组]
SELECT
    a.*, COUNT(a.id) AS num
FROM
    qdwyc_zlgs a
LEFT JOIN qdwyc_car b ON a.id = b.car_zlgs
LEFT JOIN qdwyc_hy_sj c ON b.car_owner = c.id
WHERE
 b. STATUS = 0
AND c. STATUS = 0
AND c.sj_is_sh = 1
group BY a.id

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
ringa_lee

1+2=3 啊。你不是 group by a.id 了嘛,所以相同的就合并成一条了。

MySQL 允许选择不在 group by 语句中、也没有使用聚集函数的字段,但是结果是哪条数据的值就不知道了。PostgreSQL 遇到这样的情景是会报错的。

大家讲道理

你的查询条件

WHERE b.STATUS = 0 AND c. STATUS = 0 AND c.sj_is_sh = 1

过滤了

ringa_lee

你先把group by a.id先去掉看看查询数据结果怎么样的。先从简单的sql语句,一步一步的调试

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号