Как найти пятую по высоте зарплату в едином запросе в SQL Server

Насколько мне известно Resource Controllers, у вас есть только 7 fixed URI`s для работы с вашим ресурсом.

Итак, если вы вызываете метод index, он имеет стандартный URI /post. Вы не можете изменить его на /post/anything.

Вы должны использовать множественную версию ресурса в URI posts. Route::resource('posts', 'PostController');

Таким образом, вы не можете получить доступ к методу index из http://127.0.0.1:8000/admin/post/news URL.

6
задан marc_s 9 April 2012 в 09:40
поделиться

7 ответов

Они работают в SQL Server 2000

DECLARE @result int

SELECT TOP 5 @result = Salary FROM Employees ORDER BY Salary DESC

Синтаксис должен быть близким. Я не могу протестировать его в данный момент.

Или Вы могли пойти с подзапросом:

SELECT MIN(Salary) FROM (
    SELECT TOP 5 Salary FROM Employees ORDER BY Salary DESC
) AS TopFive

Снова, не положительный, если синтаксис является точно правильным, но работы подхода.

4
ответ дан 8 December 2019 в 03:28
поделиться

В SQL Server 2005 и 2008 создайте оцениваемый подзапрос Select, затем добавьте где пункт где разряд = 5.

select
  *
from
(
  Select
    SalesOrderID, CustomerID, Row_Number() Over (Order By SalesOrderID) as RunningCount
  From
    Sales.SalesOrderHeader
  Where
    SalesOrderID > 10000
  Order By
    SalesOrderID 
) ranked
where 
  RunningCount = 5
22
ответ дан 8 December 2019 в 03:28
поделиться

Можно попробовать некоторую вещь как:

select salary
from Employees a
where 5=(select count(distinct salary)
         from Employees b
         where a.salary > b.salary)
order by salary desc
0
ответ дан 8 December 2019 в 03:28
поделиться
SELECT TOP 1 salary
FROM (
    SELECT DISTINCT TOP n salary
    FROM employee
    ORDER BY salary DESC) a
ORDER BY salary
where n > 1 -- (n is always greater than one)

С помощью этого запроса вы можете найти любое количество наивысших окладов.

1
ответ дан 8 December 2019 в 03:28
поделиться

You can find it by using this query:

select top 1 salary 
from (select top 5 salary
      from tbl_Employee
      order by salary desc) as tbl 
order by salary asc
0
ответ дан 8 December 2019 в 03:28
поделиться

Приведенный ниже запрос позволяет получить самую высокую зарплату после определенного имени сотрудника.

Вы только посмотрите на это!

SELECT TOP 1 salary FROM (
    SELECT DISTINCT min(salary) salary
    FROM emp where salary > (select salary from emp where empname = 'John Hell') 
    ) a 
ORDER BY salary
0
ответ дан 8 December 2019 в 03:28
поделиться
select * from employee2 e
where 2=(select count(distinct salary) from employee2
         where e.salary<=salary)

его работа

0
ответ дан 8 December 2019 в 03:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: