sql数据库数字排序问题

从1开始到(N+1,n>=10)的数字排序,直接用orderby显示的是1、11、12、13……101、102、103……2、21、22……,我想要的是1、2、3、4、5... 从1开始到(N+1,n>=10)的数字排序,直接用order by 显示的是1、11、12、13……101、102、103……2、21、22……,我想要的是1、2、3、4、5、6……10、11、12、13、……20、21、22、23……这个怎么写语句,谢谢 展开
 我来答
flyskyxx
2010-05-21 · TA获得超过1251个赞
知道小有建树答主
回答量:458
采纳率:0%
帮助的人:476万
展开全部
假如你要排序的字段名为 mynum,

如果 mynum 是 int 型,直接排序即可: order by mynum

如果 mynum 是 string 型,但存的是数值,并且要出现你说的自然排序效果的话,要这样做: order by mynum+0
feixianxxx
推荐于2017-12-16 · TA获得超过2202个赞
知道大有可为答主
回答量:1273
采纳率:100%
帮助的人:1759万
展开全部
ORDER BY cast(你的字段名 as int)

这里的原因是因为你的那个字段虽然存储了数字值,但是它是一个字符型
而字符型的 '2' 比 '11'要大 因为是从第一个字母开始比其的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邱力朴轶
2019-04-05 · TA获得超过1128个赞
知道小有建树答主
回答量:1925
采纳率:0%
帮助的人:9.1万
展开全部
插入的时候不存在新增的行在末尾这一说法,不过mysql的myisam引擎貌似可以控制在行尾插入,oracle不带这种功能。。
数据库是以文件形式存储在文件系统中,不存在像堆积木一样,一行行堆上去。。
只能说查询出来的内容可以排序。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yonghui958
2010-05-21 · TA获得超过243个赞
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:114万
展开全部
看来你查的列是String型的,用一楼的回答即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式