[Solved] How to write a query, to produce the desired result?


You can use DENSE_RANK(). For example:

select
  id, name, quantity
from (
  select
    id, name, quantity,
    dense_rank() over(order by quantity desc) as rk
  from t
) x
where rk <= 2

DENSE_RANK() computes a number for each row according to an ordering of your choosing. Identical values get the same number, and no numbers are skipped. See SQL Fiddle.

1

solved How to write a query, to produce the desired result?