数据库中的“表”总的来说是无序的,也就是说,它“不应该”有“顺序”的概念。一个表里的每个条目都是一样的,本质上没有“先后”。“顺序”体现在对表的“查询”动作中。换句话说,就是你的order by才告诉引擎,查询到的若干条目应该以什么样的顺序排列。这是一个很科学也很重要的概念。因为在实际使用中,你可能今天想按某个时间字段排序,明天想按某个索引号排序,但这些所谓的“顺序”都是你想要看到的数据的一种投影方式,而并不是数据本身应当具有的属性。
如果你确实需要对数据库中的所有条目,按某个字段排列的话,比较可行的办法就是把它们都读出来,排序,清空或删除表(并重建),重新写入数据。你这样写是错误的,首先你应该再分析下你的需求,你的要求实际上就是先筛选出 tongji>tongji2 的数据,再排序,你那样写是错误的,order后面不能跟表达式
select from $member where tongji>tongji2 order by tongji desc Limit 0,10
可以通过 “order by 字段名 asc (desc)” 命令进行排序。
sql:select from tablename order by id DESC;
用 DESC 表示按倒序排序(即:从大到小排序) ,用 ACS 表示按正序排序(即:从小到大排序)。
参考资料
csdncsdn[引用时间2018-1-28]
我的数据库和Myeclipse刚刚卸载了,所以没法帮你写!!!你自己想想吧,在数据库中直接排序成这样我还没有想到!这是将这个数据读出来在排序的方法。这个需要先将A字段的字符拆分出来,可以按照“/”拆分,貌似可以直接用split("/')直接拆分,然后需要类型转换下,转成int类型,或者直接用int [] 来接收,既然已经拆分到数组里了,那么就可以用冒泡排序或者其他排序,从小到大排序了,排序之后需要在合并到一起!!!这只是一个思路或许还有其他方法。我说的可能有错误,希望见谅。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)