数据表查询用户,并对有角色的用户排序问题

天南海北 发布于 2013/11/06 15:07
阅读 103
收藏 0

数据库是mysql
现在有一张用户表user
uid
name
大概有2W条数据
另有一张用户角色关系表 user_role
uid
rid
当rid=3时为管理员,rid=2时为协管员,其他的为普通用户
我现在的需求是
管理员用户排在最前面,其次是协管员,其他的按注册时间排序,要分页。

这应该也是一个常见的排序,可是我一直想不到好办法,在此询问大家了,谢谢


user表是
 uid name
1 恭喜
2 发财
3 快来
4 呵呵
user_role表是
2 3
1 2
我想要的结果是
2 发财 3
1 恭喜 2
3 快来
4 呵呵

加载中
0
RegnoiX
RegnoiX
看看其他rid都是什么值了
0
长沙-小刚
长沙-小刚
select * from  user left join user_role on user.uid = user_role.uid order by user_role.rid desc, user.createtime asc limit **, ** 
0
lazyphp
lazyphp
order by find_in_set(rid, '3,2,1'), createtime desc
0
LucEsape
LucEsape

SELECT uid, name, rid FROM user
LEFT JOIN user_role
 ON user.uid = user_role.uid
ORDER BY rid DESC, uid ASC, name ASC

返回顶部
顶部