我正在使用python sqlite3。
此声明获得记录5 - 14;
SELECT * FROM something LIMIT 5, 10;
但是我怎么得到,让我们通过一个陈述说出前五个和最后五个记录?
答案 0 :(得分:8)
您可以组合两个select语句的输出,如下所示:
(SELECT * FROM `something` order by some_column_name
limit 0,5)
union
(SELECT * FROM `something` order by some_column_name desc
limit 0,5
)
指定行的某些顺序,以便相应地选择行。
答案 1 :(得分:1)
也许更好的方法是在rowid
子句中使用order by
来获取基于插入行的第一行和最后一行:
select test from
(select test,rowid from table1 order by rowid asc limit 0,5)t1
union all
select test from
(select test,rowid from table1 order by rowid desc limit 0,5)t2;
以下是 SQL Fiddle
中的示例