查询某一张表字段对应的字段
1、表结构如下图
2、简单描述一下,invited_by就是推荐人的UID, 其实就是别的用户的UID,可能推荐了多个人,都在同一个表中。
3、我要查询实现的目的是:分组查询所有用户推荐了多少人,要查询的字段包括,email,invited_by,invited_by 个数,就是分组查询某个人的推荐了多少人。
4、一开始怎么查询都没法查询,只能invited_by 和数量进行分组,无法对应该invited_by的email。对应的Sql如下:
SELECT
u.invited_by,
COUNT( u.invited_by ) AS 邀请数量
FROM
core_user u
GROUP BY
u.invited_by
ORDER BY
邀请数量 DESC
5、查询的结果如下:
6、后来看以前的别人的sql受到启发,方法是,首选查询该表的uid,email 作为一个新表,然后再和原表进行关联查询,查询Sql如下:
SELECT
em.email,
u.invited_by,
COUNT( u.invited_by ) AS 数量
FROM
core_user u,
(select uu.email,uu.uid from core_user uu ) em
where em.uid=u.invited_by
GROUP BY
u.invited_by
ORDER BY
数量 DESC
7、查询结果如下:
8、只查询 用户名email和该用户对应的邀请人个数: