我有一个带有日期类型列的表,其他的东西,我正在尝试根据给定的日期参数查询表中的项目,并返回之前的10个项目和日期参数之后的10个项目给出。
按日期列降序排序并选择10个小于或等于(< =)的项目将完成目标的一半,但有一种方法可以完成10个项目之前和之后的10个项目单个查询?
答案 0 :(得分:3)
select * from
(
select top 10 *
from a_table
where a_date < '2010-01-01'
order by a_date desc
union
select top 10 *
from a_table
where a_date >= '2010-01-01'
order by a_date asc
) t
order by t.a_date