2013-10-18 83 views
0

我有表名爲年級PHP和MySQL平均

1st row:  2nd row: 
------------------------------ 
| english  |  math | 
------------------------------ 
| 3   | 4   | 
| 4   | 4   | 
| 5   | 2   | 
| 2   | 5   | 
------------------------------ 

這種結構現在如何calucate英語行的平均水平?

我試着用:

"SELECT AVG(english) as `averageenglish` FROM grades" 

它總是給我 「沒有數據庫中選擇」

+1

您需要先選擇數據庫。 http://dev.mysql.com/doc/refman/5.0/en/creating-database.html – Maximus2012

+1

或者用數據庫名稱限定表引用。 – eggyal

+0

我之前已經在代碼中選擇了數據庫.. – user2800529

回答

0

數據庫選擇是每個會話。如果進入MySQL命令提示符並鍵入

USE MyDatabase 

您不必在該會話的查詢中限定表名。只要您離開(exitCtrl + c等),您沒有該權限。您將不得不再次登錄USE數據庫,或限制查詢中的表名。這包括由不在命令行上運行的單獨腳本創建的會話。

在生產代碼中,始終限定查詢中的表名是有幫助的。您的查詢應該如下所示:

SELECT AVG(english) as averageenglish FROM MyDatabase.grades 
+0

謝謝! @ExplosionPills – user2800529

0

要證明什麼@eggyal意味着

SELECT AVG(english) as `averageenglish` FROM databasename.grades 

的首選方法是添加數據庫名稱到你的連接,如果你只有一個數據庫。