2016-11-07 4 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

Смежные вопросы