2016-06-26 15 views
0

私のデータベースには製品と仕上げのリストが含まれています。私は各仕上げオプションの価格を首尾よく平均化することができましたが、最も安いオプションを表示したいだけです。SQL - 平均価格の最小値を表示

ここに私のデータのサンプルがあります。

表1 - product_t

ProductID ProductLineID ProductDescription ProductFinish ProductStandardPrice ProductOnHand 
1 1 "Cherry End Table" Cherry 175.00 0 
2 1 "Birch Coffee Tables" Birch 200.00 0 
3 1 "Oak Computer Desk" Oak 750.00 0 
4 1 "Entertainment Center" Cherry 1650.00 0 

各利用可能な製品仕上げと仕上げを有するアイテムの平均価格のリストにこのクエリの結果。

SELECT ProductFinish, AVG(ProductStandardPrice) as AveragePrice 
FROM product_t 
WHERE ProductFinish IS NOT NULL 
GROUP BY ProductFinish; 

ただし、このクエリの結果として最も低い価格を表示したいだけです。私はこのクエリを試みましたが、実行されません。

SELECT ProductFinish, MIN (AVG(ProductStandardPrice)) as AveragePrice 
FROM product_t 
WHERE ProductFinish IS NOT NULL 
GROUP BY ProductFinish; 

ご協力いただきありがとうございます。大変感謝しています。

+0

使用されているdbmsにタグを付けてください。 –

答えて

3

最も低い値を得るための一般的な方法は、order byと行数にある種の制限を使用することです。 ANSI標準のSQLでは、これは次のようになります。いくつかのデータベースはLIMIT 1またはTOP 1の代わりFETCH FIRST 1 ROW ONLYを使用して

SELECT ProductFinish, AVG(ProductStandardPrice) as AveragePrice 
FROM product_t 
WHERE ProductFinish IS NOT NULL 
GROUP BY ProductFinish; 
ORDER BY AveragePrice ASC 
FETCH FIRST 1 ROW ONLY; 

注意。また、このバージョンは最低価格のレコードを1つだけ取り出します。重複する最小値がある場合は、任意の値が選択されます。

+0

ありがとうゴードン、それは完璧に働いた! – Brent

関連する問題