2015-09-04 106 views
0

我已經修改了一些腳本代碼的例子,但最終仍未能解決的「布爾」錯誤問題MySQL的GROUP BY AVG MAX MIN - >布爾錯誤

我所試圖做的是簡單隻有7個數據區獲得AVR,MIN和MAX年齡。

下面的第一個代碼片段我工作得很好,但只是按區域AVR。

第二個代碼片段是AVR MAX MIN的一個變體,它讓我陷入困境。


注:我已經消除了一些涉及到的HTML代碼和我的實際連接mysql「需要」線用於確定與頁面上的其他代碼。

編輯:對不起,這個系統顯然不允許代碼中的一些html和php標籤。我會看看這些行是否仍然在主文本輸入部分< snip> out - 除了我猜測的MySQL之外,還沒有真正需要。

謝謝!

-stucko


也能正常工作,但對於剛剛AVR面積

$sql = "SELECT area, (ROUND(AVG(age))) as avrage FROM mydb GROUP BY area"; 

$result = mysqli_query($con,$sql); 

while(list($area, $avrage) = mysqli_fetch_row($result)) 
{ 

*** HAD TO <SNIP> OUT THIS HTML/EMBEDDED PHP CODE FOR DISPLAYING OUTPUT 

} 

這是我最後很多嘗試的面積來獲得AVR,MAX & MIN

$sql = "SELECT 
      (SELECT CONCAT(area, '-', age) from mydb GROUP BY area ORDER BY age DESC limit 1) as MAX, 
      (SELECT CONCAT(area, '-', age) from mydb GROUP BY area ORDER BY age ASC limit 1) as MIN, 
      (SELECT AVG(age) from mydb) as AVG 
      FROM area limit 1"; 

$result = mysqli_query($con,$sql); 

while(list($area, $MAX, $MIN, $AVG) = mysqli_fetch_row($result)) 
{ 

*** HAD TO <SNIP> OUT THIS HTML/EMBEDDED PHP CODE FOR DISPLAYING OUTPUT 

} 
+0

請閱讀StackOverflow編輯器上的幫助文件。粘貼代碼後,用鼠標標記並使用'{}'工具或鍵入Ctl-k。這會將其標記爲文字代碼,以便您可以在其中使用HTML發佈代碼。 – Barmar

+0

您可以包含HTML/php代碼。粘貼,全選,然後點擊{}按鈕 – NightShadeQueen

+0

不應該將'FROM area'設置爲'FROM mydb'? – Barmar

回答

2

除非我讀錯了,它是非常過度工程,因爲什麼可以SIM卡使用:

SELECT area, max(age), min(age), avg(age) 
FROM mydb 
GROUP BY area 
+0

Marc B:OMG-謝謝!!!我很快測試了它,但需要在AVR上使用ROUND並重新定位列/字段。對不起,我忽略了我最初發布的特殊代碼括號。真的非常滿意極快的答覆。驚人! -stucko – stucko