2017-03-03 78 views
-1

我可以得到一點幫助。查詢的結果不是崩潰

查詢是這樣:在進階

SELECT 
     SUBSTR(house.nr,1,3), SUM(road.quantity), 
     COUNT(people.name), goods.price*sum(road.quantity) /goods.quantity   

FROM  home, road, house, goods, people 

WHERE  home.hoid = road.roid 
      AND home.hrid = house.nrid 
      AND road.gdsid = goods.goodsid 
      AND goods.nmid = people.nameid 

GROUP BY SUBSTR(nr,1,3), people.name, goods.price, road.quantity, goods.quantity 

ORDER BY SUBSTR(nr,1,3) 

This is what I get

This is what I want

感謝。

+0

請仔細閱讀http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on -so-when-asking-question-285557和接受的答案 –

+0

這些圖像代表什麼?您獲得的實際數據和所需結果? – Aleksej

+0

最重要的一個是查詢的輸出,一個波紋管是我想要得到的。 –

回答

0

您按名稱,價格和數量進行分組,因此結果將包含每個值的一行。相反,選擇由第一列中的總量和組:

SELECT 
    SUBSTR(house.nr,1,3), SUM(road.quantity), COUNT(people.name), 
    SUM(goods.price*sum(road.quantity) /goods.quantity) AS price 
... 
GROUP BY SUBSTR(house.nr,1,3) 
+0

'組合(..)'??? –

+0

是嗎?那有什麼問題? –

+0

根據聚合結果的值進行分組(這反過來又需要一個分組)對我沒有意義。他只想(需要)'SUBSTR(house.nr,1,3)'組合'(house.nr,1,3)' –