【发布时间】:2013-09-28 09:37:05
【问题描述】:
我有一张桌子,比如
STUDENTNAME ISMANUALLYADDED ISEDITED
----------- --------------- --------
APPLE 0 0
ANT 0 1
BELL 0 0
DOLL 1 0
在这里,我尝试先按studentname、ismanuallyadded 和isedited 对数据进行排序。我期待这样的结果:
StudentName
-----------
APPLE
BELL
DOLL
ANT
为此,我正在尝试,
select studentname from table1
order by studentname, ismanuallyadded, isedited
但是,这个查询给出的结果是,
Student
-------
APPLE
ANT
BELL
DOLL
可以先studentname下单,再ismanuallyadded下单吗?
我正在尝试按字母顺序显示所有学生姓名(manually added 和 isedited),然后只有 ismanuallyadded 学生应该来,然后是 isedited。
【问题讨论】:
-
请解释预期结果的逻辑。
-
我认为你有一个困惑:第一个结果是无序的。除了您指定之外,Sql 查询上没有 ORDER。您的第一个查询是随机顺序。也许等于插入数据的顺序,但只是随便。最后一个查询按字母顺序排列,正如您设置的 order by..
-
您的排序顺序有误。你的意思是:按studentname排序,如果两个或多个studentname相同,按ismanuallyadd排序,如果两个或多个manualadded状态相同,按isedited排序。这与您想要的结果不符。
-
@MartinSmith 我已经更新了我的问题。你现在能检查一下吗
标签: sql sql-server-2008