急急急急急急,在线等,求一mysql查询语句 ,最后70分奉上
- Java code
public class User{//数据库表明也是Userprivate String userId;//idprivate String userName;//用户名private Date cd_time;注册时间private User inviteUser; //邀请人(填的实际上邀请人的ID【外键】)}
- Java code
有如下数据,注册时间没有写,就是系统当前时间1 张一 null2 张二 null3 张三 null4 张四 null5 张五 1 -------------表示张五是张一邀请来的6 张六 2 -------------表示张刘是张二邀请来的7 张七 38 张八 4 9 张九 510 王一 611 王二 612 王三 613 王四 114 王五 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