我在使用此SQL選擇查詢時遇到了很多麻煩。我開始相信我需要製作某種臨時桌,但我可能是錯的。MySQL從另一列中選擇具有不同值的查詢:SUM()行
我需要顯示由P_CODE標識的產品銷售量超過此表上的平均產品。我面臨的問題是有多個條目具有相同的P_CODE。
SELECT LINE.P_CODE FROM LINE
WHERE LINE.LINE_UNITS > (SELECT SUM(LINE.LINE_UNITS) FROM LINE)/(SELECT COUNT(DISTINCT LINE.P_CODE) FROM LINE);
此選擇查詢需要我接近期望的結果,但其實我是想運行以下命令:
SELECT LINE.P_CODE FROM LINE
WHERE (SELECT SUM(LINE.LINE_UNITS) FROM LINE GROUP BY LINE.P_CODE) > (SELECT SUM(LINE.LINE_UNITS) FROM LINE)/(SELECT COUNT(DISTINCT LINE.P_CODE) FROM LINE);
但我收到此錯誤
錯誤代碼:1242。子查詢返回多於一行
如果我的演示文稿很抱歉桌子很差,我也拿了一個screenshot。但是我將它包含在內以幫助解釋爲什麼我無法使用AVG()函數。
LINE_UNITS | P_CODE 1 | 13-Q2/P2 5 | 13-Q2/P2 2 | 13-Q2/P2 1 | 1546-QQ2 1 | 2232/QTY 1 | 2238/QPD 1 | 23109-HB 2 | 23109-HB 1 | 23109-HB 1 | 23109-HB 2 | 54778-2T 3 | 54778-2T 1 | 54778-2T 1 | 89-WRE-Q 12 | PVC23DRT 5 | PVC23DRT 3 | SM-18277 3 | WR3/TT3
'Mysql' <>'的Sql Server'選擇您所使用的一個! –
你正在使用哪個數據庫。請正確使用標籤@Pivot –
對不起,我正在使用mysql,我剛纔修復了標籤 – Pivot