急急急急急急,在线等,求一mysql查询语句 ,最后70分奉上
-
Java code
public class User{ //数据库表明也是User private String userId;//id private String userName;//用户名 private Date cd_time;注册时间 private User inviteUser; //邀请人(填的实际上邀请人的ID【外键】) }
-
Java code
有如下数据,注册时间没有写,就是系统当前时间 1 张一 null 2 张二 null 3 张三 null 4 张四 null 5 张五 1 -------------表示张五是张一邀请来的 6 张六 2 -------------表示张刘是张二邀请来的 7 张七 3 8 张八 4 9 张九 5 10 王一 6 11 王二 6 12 王三 6 13 王四 1 14 王五 13
需求是,按时间顺序,查询出前十条
像这样:
张一,2 张一邀请了2人
张二,1 张二邀请了1人
张三,1
…
张五,1
张六,3 张六邀请了3人
王四,1 王四邀请了1人
select a.userName, count(b.userId)
from User a left join User b on a.userId = b.inviteUser
group by a.userName