SQL数据库如何按照表内某列int值的大小进行排序求指教!

这个SQL数据库真扯淡,排个序只是自慰就只能看看而已,后来我只能复制了全部数据后重新创建新表,就好比电脑桌面上点了按照某种顺序排序应该就一直这样才对,它这个竟然会返回去无... 这个SQL数据库真扯淡,排个序只是自慰就只能看看而已,后来我只能复制了全部数据后重新创建新表,就好比电脑桌面上点了按照某种顺序排序应该就一直这样才对,它这个竟然会返回去无语了,这是什么反人类的狗屎操作! 展开
 我来答
百度网友eb6ab18
2019-09-09 · TA获得超过585个赞
知道小有建树答主
回答量:1068
采纳率:83%
帮助的人:254万
展开全部
怎么说呢,并不是说做不到,而是你的理解有一点点问题。
数据库中的“表”总的来说是无序的,也就是说,它“不应该”有“顺序”的概念。一个表里的每个条目都是一样的,本质上没有“先后”。“顺序”体现在对表的“查询”动作中。换句话说,就是你的order by才告诉引擎,查询到的若干条目应该以什么样的顺序排列。这是一个很科学也很重要的概念。因为在实际使用中,你可能今天想按某个时间字段排序,明天想按某个索引号排序,但这些所谓的“顺序”都是你想要看到的数据的一种投影方式,而并不是数据本身应当具有的属性。
如果你确实需要对数据库中的所有条目,按某个字段排列的话,比较可行的办法就是把它们都读出来,排序,清空或删除表(并重建),重新写入数据。
_徵信4508109
2019-09-09 · 超过17用户采纳过TA的回答
知道答主
回答量:31
采纳率:16%
帮助的人:2万
展开全部
这个需要在排序语句中使用条件判断

例如:表【Table_temp】中列【col1】为字符,属性为varchar(10),排序时需要按照B、A、C的顺序显示,则可按照以下SQL语句:
select
*
from
Table_temp
order by
case
when col1='B' then 1
when col1='A' then 2
when col1='C' then 3
end
追问
我不只是让他显示,我还要让它真正意义上的更改表内顺序,不只是看到还要真正意义上的修改了表内的顺序,不然每次改数据都要用命令麻烦!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hyx0077
2019-09-09 · TA获得超过126个赞
知道小有建树答主
回答量:297
采纳率:63%
帮助的人:44.6万
展开全部
按照你想要的结果插入另一张表中;话说改变数据在表中的存储顺序没有意义呀,这个不是前台程序做的事情么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式