单个查询中的升序和降序ORDER BY子句

时间:2014-05-29 21:40:53

标签: sql oracle

我正在研究这些问题,但是这个问题让我感到难过。问题在于:

- 使用AUTHOR表,编写一个查询,列出有关作者的所有信息 - 其名字以“A”结尾。将结果按姓氏的降序排列, - 然后按名字升序。这应该使用单个查询来完成。

这是我到目前为止所提出的:

SELECT *
FROM author
WHERE(fname LIKE '%A')
ORDER BY lname DESC, fname ASC;

然而,我得到的结果是按姓氏降序排列的信息。名字升序似乎不起作用。

对我缺少什么的想法?如果重要,请使用Oracle Express 10G。 感谢。

1 个答案:

答案 0 :(得分:0)

您的查询没有任何问题。你所要做的只是注意数据:-) 以下是解释数据输出的方法:

--------------+--------------
zzz           | john
zza           | adam 
zaa           | bob
ccc           | jack
ccc           | john
cca           | mike

因此,只需指导Oracle -lname desc,fname acs进行排序,但是您需要意识到fname asc在处理lname desc后出现在图片中。换句话说:ZZZ出现在ZZA之前,但是一旦CCC被排序,那么jack才会出现在john之前。