SQL 语句 Select 在排序值之间

SQL statement Select between sorted values

我有一 table 个人。我想按人的年龄对 table 和特定年龄范围内的 select 进行排序。这是我试过的:

SELECT *
from (SELECT * FROM people ORDER BY age DESC) as myalias
WHERE age BETWEEN 20 AND 25)

我确实得到了这些年龄之间的结果,但没有整理出来。有什么建议吗?

SQL 表表示 无序 集合。 SQL 查询 return 无序 集合。 . .但有一个例外:如果最外面的 select 有对应的 order by.

所以,子查询中的order by没有作用。在这种情况下,某些数据库甚至不允许 order by。在其他情况下,结果可能看起来是有序的,但数据或环境的变化可能会改变这一点。

在你的例子中,子查询是不必要的。你可能知道,但你应该写:

SELECT p.*
FROM people p
WHERE p.people_Age BETWEEN 20 AND 25
ORDER BY p.age DESC