需求: 取出某个group(假设id为1)下的用户编号id,用户昵称(nick_name),并按照加入组的时间(user_group.gmt_create)来进行倒序排列,取出前20个
解决方案一:
SELECT id,nick_name FROM user,user_group WHERE user_group.group_id = 1 And user_group.user_id = user.id ORDER BY user_group.gmt_create desc LIMIT 100, 20;
解决方案二:
SELECT user.id,user.nick_name FROm (SELECT user_id FROM user_group WHERE user_group.group_id = 1 ORDER BY gmt_create desc LIMIT 100, 20) t,user WHERE t.user_id = user_id;
第二种解决方案应该明显优于第一种解决方案
时间: 2024-10-07 05:30:11