title: Select the 2 max values with GROUP BY in SQL
body: <p>I need to write a query that show the 2 max expensive order for every year and company.</p>
  
  <p>I tried:</p>
  
  <pre><code>SELECT CompanyName, DATEPART(YEAR, OrderDate) AS OrderYear, MAX(Freight)
  FROM Orders, Shippers
  WHERE Shippers.ShipperID = Orders.ShipVia
  GROUP BY CompanyName, DATEPART(YEAR, OrderDate)
  </code></pre>
  
  <p>But I get only the first, how can I get the second also?</p>