2016-11-07 46 views
0

我有一个日期类型列以及其他东西的表,并且我试图根据给定的日期参数查询表的项目,并返回10个项目之前和10在给定的日期参数之后的项目。SQL获取日期前后的项

按日期列降序排列并选择10个小于或等于(< =)的项目将完成一半的目标,但是有没有一种方法可以完成前10项和后10项单个查询?

+0

您应该可以使用子查询来实现此目的。 – Cyclonecode

+0

简单。请参阅UNION – Strawberry

回答

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 
+0

这个问题似乎与MySQL有关 – Strawberry