對於初學者來說,我是一名SQL新手,所以我沒有知識來問一個簡單的問題,但我會盡我所能。下面是該查詢我試圖讓:Java中的SQL;處理SELECT和GROUP BY的錯誤
query = conn1.prepareStatement(
"select Industry, Ticker, TransDate, min(TransDate), max(TransDate), " +
" count(distinct TransDate) as TradingDays, " +
" count(distinct Ticker) as TickerCnt, " +
" openPrice, closePrice " +
" from Company left outer join PriceVolume using(Ticker) " +
" group by Industry " +
" having TradingDays >= 150 " +
" order by Industry, Ticker, TransDate");
ResultSet rs = query.executeQuery();
這裏的錯誤: SQLException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'reedy330.Company.Ticker' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
如果我包括字幕和TransDate在GROUP BY子句,異常不再發生,但ResultSet
是空。我試圖做的是有ResultSet
與SELECT
條款中的所有內容作爲元素。我從分配描述中的類似示例查詢構建了這個查詢,這就是爲什麼我不理解它的原因。
這裏是一個冒號粗體數據庫,表名的佈局,按鍵都只是以粗體顯示:
PriceVolume:
Ticker
TransDate
OpenPrice
HighPrice
LowPrice
ClosePrice
Volume
AdjustedGrossCompany:
Ticker
Name
Industry
Location
任何想法?
想法是什麼?正如我一次聽到的那樣:這是一個故事,你的問題是什麼?歡迎來到堆棧溢出!這並不意味着鼓勵,但鼓勵明確。 – tmthydvnprt