SQL语句嵌套查询问题

来源:互联网 发布:制作电子报刊的软件 编辑:程序博客网 时间:2024/05/21 02:49

在做项目的时候遇到了一个需求:就是要按规定条件筛选出一定数量的数据,然后对数据进行再排序。
比如说,获取最新时间的五十条数据,然后按时间正序进行排序。
其实就是先获取最新的五十条数据,然后把结果作为一个表集合进行再次的排序。
所以本人就理想当然地写出了如下的SQL语句:

SELECT * FROM (SELECT * FROM operator_input ORDER BY time DESC LIMIT 1,10) ORDER BY time ASC;

但是报了如下的错误:

[SQL]SELECT * FROM (SELECT * FROM operator_input ORDER BY time DESC LIMIT 1,10) ORDER BY time ASC;[Err] 1248 - Every derived table must have its own alias

阅读了一下错误信息,发现是第一次筛选的结果没有命名一个别名造成的错误,于是修改了SQL语句,最终语句如下:

SELECT * FROM (SELECT * FROM operator_input ORDER BY time DESC LIMIT 1,10) AS t ORDER BY time ASC;