Wählen Sie mehrere Spalten mit nur einer Spalte in SQL aus

Ich muss eine SQL database abfragen, um alle verschiedenen Werte einer Spalte zu finden, und ich benötige einen beliebigen Wert aus zwei Spalten. Betrachten BuyRate zum Beispiel die folgende Tabelle mit drei Spalten: CurrencyCode , BuyRate und SellRate :

 CurrencyCode BuyRate SellRate AUD 1.037 1.97 AUD 1.079 1.99 EUR 0.7288 0.8763 EUR 0.731 0.88 GBP 0.59 0.72 

Ich möchte eine Zeile mit einem deutlichen CurrencyCode abrufen, vielleicht diese drei Zeilen:

 CurrencyCode BuyRate SellRate AUD 1.037 1.97 EUR 0.7288 0.8763 GBP 0.59 0.72 

Ich habe meine SQL Abfrage wie:

 SELECT distinct CurrencyCode, BuyRate, SellRate FROM Currencies 

Aber ich bekomme nicht das gewünschte Ergebnis, da es alle Spalten beherrscht.

Versuche mit GROUP BY Klausel und MIN function wie unten

 SELECT CurrencyCode, MIN(BuyRate), MIN(SellRate) FROM Currencies GROUP BY CurrencyCode 

Bis jetzt fand ich, dass dies die beste Antwort ist, um Min(SellRate) auf der Basis von Min(BuyRate)

z.B.

  CurrencyCode BuyRate SellRate AUD 1.037 1.97 AUD 1.079 1.89 //Changed from 1.99 to 1.89 AUD 1.038 1.77 //New row added EUR 0.7288 0.8763 EUR 0.731 0.88 GBP 0.59 0.72 

Hier erwarte ich AUD Reihen für BuyRate und SaleRate wird BuyRate und SaleRate sein

 select CurrencyCode, Min(BuyRate) as BuyRate, (select top 1 SellRate from Currencies as C where C.CurrencyCode=Currencies.CurrencyCode and C.BuyRate= Min(Currencies.BuyRate) order by SellRate) as SellRate from Currencies group by CurrencyCode