求助,多字段排序问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 03:57:06
为什么我按照如下的格式运用:(假设id为主键)
1,
select * form 表名 order by id desc,另外一个字段 desc

他的结果和 下面的语句执行的效果一样:
2,

select * form 表名 order by id desc

为什么呢?为什么1中"另外一个字段 desc "没有效果呢?
可不可以说的更清楚一些?

把后面那个放到前面就不一样了,不能同时按俩个,俩个的意思是当第一个条件有俩个数据相同时才会按第二个再排一下

ID为主键了,意思就是永远不会重复了,第二个ORDER BY 显然一点用处也没有了

排序的时候如果要按俩个字段来排的话,当在也面显示出来被处理时,首先会按那俩个字段的第一个字段排,也就是先按ID排,当有俩个数据的ID相同时,才会再按第二个字段排,你的ID都是主键了,肯定不会重复了,那样按ID和另一个字段排的效果肯定和只按ID排一样,但你要是把另一个字段放到ID前面,理论上效果应该就不一样了
例:
select * form 表名 order by 另外一个字段 desc,id desc

是这样的,首先按照第一个字段排序,然后再按照第二个字段排序,可是你用id排序以后,id的值是不会改变的,当然后面的字段排序就失效了,通常情况下都是先按照一个字段排序,然后再按id排序的