Консультация № 148124
22.10.2008, 14:49
0.00 руб.
0 4 2
Существует таблица, в которой есть информация о работниках, их зарплате. Нужно выдать следующую информацию: наити самую низкую зарплату и 2 следующи за ней (по возрастанию), и людей с этой зарплатой.
ENAME SAL
---------- ----------
SMITH 800
ADAMS 800
JAMES 950
WARD 1250
MARTIN 1250

Обсуждение

Неизвестный
22.10.2008, 15:14
общий
это ответ
Здравствуйте, Nikolai!
Посортировать зарплату по возрастанию и отобразить людей, которым соответствуют (точнее которые соответствуют) первых 3 записи:
select * from table_name where sal in (select limit 3 distinct sal from table_name order by sal) order by sal
Неизвестный
22.10.2008, 15:16
общий
P.S. Неплохо б если бы Вы указали какая СУБД, а то вдруг у Вашей какие-то свои спецслова вместо LIMIT попадутся
Неизвестный
22.10.2008, 15:29
общий
если MSSQL то

select * from table where sal in (select distinct top 3 sal from table order by sal )
Неизвестный
23.10.2008, 06:33
общий
это ответ
Здравствуйте, Nikolai!
select top (3) ename,sal
from tabl1
order by sal DESC
Форма ответа