您的位置:首页技术文章
文章详情页

mysql - 这句sql 为什么不能查询出所有的 qdwyc_zlgs的信息,总是查出两条?不是应该三条吗?

【字号: 日期:2022-06-17 08:41:38浏览:11作者:猪猪

问题描述

SELECT a.*, COUNT(a.id) AS numFROM qdwyc_zlgs aLEFT JOIN qdwyc_car b ON a.id = b.car_zlgsLEFT JOIN qdwyc_hy_sj c ON b.car_owner = c.idWHERE b. STATUS = 0AND c. STATUS = 0AND c.sj_is_sh = 1group BY a.id

mysql - 这句sql 为什么不能查询出所有的 qdwyc_zlgs的信息,总是查出两条?不是应该三条吗?

mysql - 这句sql 为什么不能查询出所有的 qdwyc_zlgs的信息,总是查出两条?不是应该三条吗?

问题解答

回答1:

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

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

回答2:

你的查询条件

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

过滤了

回答3:

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