2017-01-09 27 views
0

ItemRatesという名前のデータベースがというデータベースにあり、このデータベースには列ItemID, ItemName, TotalFeet, RatePerItem, TotalRateが含まれており、このデータベースはjavaアプリケーションに接続されています。集計またはGROUP BY列にない式例外

私は次のクエリ

String sql = "SELECT SUM(TotalRate) AS ItemRateSum, TotalFeet FROM ItemRates"; 

を実行すると私はStackOverflowにこの例外に関連する他の質問を見ていると、1つの受け入れ答えがでGroupBy句を追加することを提案、次の例外

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.7 expression not in aggregate or 
GROUP BY columns: PUBLIC.ITEMRATES.TOTALFEET 

を取得クエリの終わり。私はGroupBy

String sql = "SELECT SUM(TotalRate) AS ItemRateSum, TotalFeet FROM 
ItemRates GROUPBY ItemName"; 

を追加し、私はここで間違って何をやっている

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.7 expression not in aggregate or 
GROUP BY columns: GROUPBY.TOTALFEET 

私はほとんど同じ例外(最後の2つの例外の間にわずかな違いがコロンの後にあります)を得ましたか。選択および集約関数の一部ではない

答えて

2

正しい構文は次のとおりである

SELECT SUM(TotalRate) AS ItemRateSum, TotalFeet 
FROM ItemRates 
GROUP BY TotalFeet; 

TotalFeet引数ありません集約関数に変換するため、GROUP BYにある必要があります。

+0

これで問題は解決しました。期限が過ぎると回答を受け入れます。お返事をありがとうございます。 – Yousaf

0

すべての列は、group by句に含まれなければならない

+0

SELECT SUM(TotalRate)AS ItemRateSum FROM ItemRates GROUPBY ItemName – uSeruSher

関連する問題