我有一个包含2列的表格。
Date_Réserv
e(日期类型),Heure_Réserve
(时间类型)
我想要做的是选择Date_Réserve
排序的结果,然后我得到的结果由Heure_Réserve
订购。
这是我试过的查询:
select * from (select Date_Réserve,Heure_Réserve from réserve order by Date_Réserve)t order by Heure_Réserve
但它给了我这个错误:
ORDER BY子句在视图,内联函数中派生无效 表和子查询,除非还指定了TOP。
答案 0 :(得分:5)
您不需要在子查询中使用ORDER BY
- 它在那里毫无意义。
对于主要/次要排序,您使用单个ORDER BY
:
SELECT Date_Réserve,Heure_Réserve
FROM réserve
ORDER BY Date_Réserve, Heure_Réserve
答案 1 :(得分:4)
列出以逗号分隔的所需列:
select Date_Réserve, Heure_Réserve from réserve
order by Date_Réserve, Heure_Réserve
答案 2 :(得分:2)
试试这个:
SELECT Date_Réserve, Heure_Réserve FROMréserve ORDER BY Date_Réserve ASC, Heure_Réserve ASC
答案 3 :(得分:2)
如果您想按多列排序:
select Date_Réserve,Heure_Réserve
from réserve
order by Date_Réserve, Heure_Réserve
如果没有,子查询中的顺序是无用的。
答案 4 :(得分:1)
一个子句,两部分
select
Date_Réserve,
Heure_Réserve
from
réserve
order by
Date_Réserve,
Heure_Réserve
-
如果这只是一个示例,并且您确实需要按照您可以执行的外部查询中不可用的列来排序结果,
select
Date_Réserve,
Heure_Réserve
from
(
select
(ROWNUMBER() OVER ORDER BY Date_Réserve) do,
Date_Réserve,
Heure_Réserve
from
réserve
)
order by
do,
Heure_Réserve
但是,正如您所看到的那样,在您的方案中,这将毫无意义且不合适。
答案 5 :(得分:0)
使用TOP语句时,可以在子查询中使用order by。
select * from
(select TOP 100 PERCENT Date_Réserve,Heure_Réserve from réserve order by Date_Réserve) t order by Heure_Réserve