mysql join查询,并统计数量

mysql的两个表,一个是”分类表category“:另一个是"产品表product“,其中的category字段对应“分类表category”的id想要只用一条sql语... mysql的两个表,一个是”分类表category“:

另一个是"产品表product“,其中的category字段对应“分类表category”的id

想要只用一条sql语句,得到下面的结果:

在"产品表product“没有数据的情况下,我用”SELECT a.*,COUNT(b.`category`) AS product_num FROM (`pl_category` a) LEFT JOIN `pl_product` b ON b.`category` = a.`id` Group By b.`category` ORDER BY a.`id`“语句查询,得到,另外的两个分类却没有显示出来。
展开
 我来答
刺友互
高粉答主

2020-04-02 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:72.6万
展开全部

1、打开终端窗口,登录mysql。mysql -uroot -p。

2、SHOW DATABASES;USE testdb;这个时候切换到相应的数据库。

3、SHOW TABLES;INSERT INTO branch VALUES(6, 'BB', NULL, NULL);SELECT * FROM branch;比如我们为branch这个表插入数据。

4、SELECT employee.emp_id, employee.first_name, branch.branch_nameFROM employee JOIN branch ON employee.emp_id = branch.mgr_id;这个时候进行一下数据的联合,用JOIN。

cfy202
推荐于2018-03-02
知道答主
回答量:1
采纳率:0%
帮助的人:1418
展开全部
用”SELECT a.*,COUNT(b.`category`) AS product_num FROM (`pl_category` a) LEFT JOIN `pl_product` b ON b.`category` = a.`id` Group By a.`id` ORDER BY a.`id`“

Group By不对,b表里是没有数据的,不能以b表中的category来Group By。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jorsh
2014-01-10 · TA获得超过268个赞
知道小有建树答主
回答量:1103
采纳率:18%
帮助的人:220万
展开全部
select a.*,count(b.category) as product_num from a left join b on a.id=b.category order by a.id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happyzhaow
2014-01-10 · TA获得超过667个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:167万
展开全部
把group by后面的b.category改成a.id
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式