mysql order by排序问题

比如在mysql中我用orderbyisonlinedesc,数据库中isonline字段只有两个值:0、1,但是我用这个字段作排序时,因为只有两个值,所以有大量相同数据... 比如在mysql中我用 order by isonline desc, 数据库中isonline字段只有两个值:0、1,但是我用这个字段作排序时,因为只有两个值,所以有大量相同数据(isonline的值),每次请求读取出来的数据顺序都是变动的。如果我要在好友列表中显示所有好友,运用order by isonline desc,那列表中的用户顺序经常都在变动。这是mysql的bug吗?有什么好的解决方法能够处理啊!! 展开
 我来答
miniappkFwV0962YhOPw
2013-03-31 · 请开发者输入账号签名
miniappkFwV0962YhOPw
采纳数:2709 获赞数:7886

向TA提问 私信TA
展开全部
我不知道这个isonline是什么,是不是指“在线”

如果是这样的话,你的语法没什么问题,程序也没显示错
但,因为你只指定了这一个排序,所以常会发生变化

我想在你数据库中字段不应该只有这一个吧,你可以再指定一个字段来排序

比如,order by isonline,在线时长,名字 desc
这样让数据库更精确的排序
jblaiye
2013-03-31 · TA获得超过1057个赞
知道小有建树答主
回答量:629
采纳率:0%
帮助的人:175万
展开全部
其实你应该加一个FIELD,比如登陆时间login_time,查找isonline=1的(在线的),按login_time排序即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-01
展开全部
可以使用多列排序,order by isonline desc,name asc.像qq还要把会员排在前面,假设数据库里isvip列表明是否会员 0表示是会员,1为否order by isonline desc,isvip desc,name asc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式