Сортировать в режиме просмотра - PullRequest
1 голос
/ 25 мая 2011

Я хотел бы получить 10 лучших данных из таблицы, которую нужно отсортировать в порядке возрастания во внешнем запросе.Ниже псевдокод запроса.Какие варианты, кроме использования табличных функций?

select * from (select top 10 tour_date from tourtable order by tour_date desc) order by tour_date asc

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Ваш запрос в том виде, в котором он написан, должен работать, вам просто нужно создать псевдоним подзапроса:

select * 
    from (select top 10 tour_date from tourtable order by tour_date desc) t 
    order by tour_date asc 

Другой вариант, предполагающий SQL Server 2005 +:

SELECT t.tour_date
    FROM (SELECT tour_date, ROW_NUMBER() OVER(ORDER BY tour_date DESC) AS RowNum
              FROM tourtable) t
    WHERE t.RowNum <= 10
    ORDER BY t.tour_date ASC

, который также можетбыть написано с CTE :

WITH cteRowNum AS (
    SELECT tour_date, ROW_NUMBER() OVER(ORDER BY tour_date DESC) AS RowNum
        FROM tourtable
)
SELECT tour_date
    FROM cteRowNum
    WHERE RowNum <= 10
    ORDER BY tour_date ASC
0 голосов
/ 25 мая 2011

Протестировано в нецелевом контексте:

select * from (select tour_date from tourable order by tour_date desc limit 10) a order by tour_date asc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...