mysql单表自关联查询

来源:互联网 发布:mac系统好玩的枪战游戏 编辑:程序博客网 时间:2024/05/19 18:44

好久没写sql了,这个系统居然要求是全栈类型。从后到前都要做(我的js都忘光了),先记录下一个sql这块吧。

一需求:

现在有个表crm,里面存放着:id,recommended_id,其中recommended_id属于id范围,就是推荐人的id。

现在的需求是,查询全部的数据,过滤条件是符合某个分类,返回时id,及其所推荐id,若果没有,则返回null,如果推荐多条,和合并为一条用“”,“”分割。

二实现:

看了下,这表数据不大,几十万条。符合条件的结果几千条。

SELECT c.id, r.recommended_id  from crm cLEFT JOIN (SELECT id, GROUP_CONCAT(recommended_id) as recommended_id from crm where 业务条件1 =X and 业务条件2 =Y   GROUP BY recommended_id) ron c.id= r.id where  业务条件1 =X and 业务条件2 =Y 
关键词:

GROUP_CONCAT:多行合并成一行

left join:允许右侧结果为空


0 0
原创粉丝点击