title: Queries to fetch items based on top Ranks
body: <p>I have a table which rank the items which i have.</p>
  
  <p>I need a queries which will pick up only the top 2 ranks for a given item, the rank may not be in sequential order.</p>
  
  <p>I need to fetch the item with least two ranks, there will same rank for two items as well.</p>
  
  <p>Here is the snap shot of my table.</p>
  
  <pre><code>Item Id Supp Id Rank
  1   2   2
  1   1   7
  1   7   5
  1   9   11
  2   67  4
  2   9   14
  2   10  14
  2   34  4
  2   25  3
  2   60  3
  2   79  5
  </code></pre>
  
  <p>my requirement is if I enter 2 i should get the result as below</p>
  
  <pre><code>Item Id Supp_id Rank
  2   25  3
  2   60  3
  2   67  4
  2   34  4
  </code></pre>
  
  <p>I am using oracle 10g version.</p>