日期:2014-05-18  浏览次数:20512 次

讨论贴关于order by
兄弟们 我发现个好玩的,比如有张表 里面有个ID,有个name 现在我这么查询 select id,* from table1 order by id
会提示出不知道按照哪个ID进行排序,sql2008,原理是不是它现在查出来的3列的临时表无法确定是哪个id,而不是通过原来表进行对比

------解决方案--------------------
字段名有重复当然确定不了是按哪个来排序,需要指定,加别名。
------解决方案--------------------
是啊,真的很神奇

你返回列中有多个id 它不知道去用那个

你这是简单的 两列id 其实完全一样,可能觉得很神奇

如果你用了别名呢?
------解决方案--------------------
select id,* from table1 order by id

虽然有2个id,但是内容肯定一样,按哪个排序,有什么差别?
------解决方案--------------------
给前面的id起个别名就ok了

SQL code
select id as nid,* from table1 order by id
select id as nid,* from table1 order by nid