Другая альтернатива, которая выполняется быстрее и занимает меньше памяти:
q) select from t where ({til[count x] in 3#idesc x};salary) fby deptno
Если вы хотите, чтобы все сотрудники, которые входят в топ-3 уровня зарплаты, вы можете использовать приведенное ниже решение.
q) select from t where ({x in x 3#idesc x};salary) fby deptno
Если ваша таблица не упорядочена командой deptno, то можно использовать 'xasc / xdesc' для упорядочения вашего результата:
q) `deptno xasc select from t where ({til[count x] in 3#idesc x};salary) fby deptno