2012-05-08 108 views
0

我需要從mysql表中的某個特定列中找到最大值,其中另一列的值等於某個值。但是,對於我正在使用的查詢,我不斷收到顯示的消息和SQL錯誤。我的查詢是aS如下:SQL MAX與WHERE子句結合使用

SELECT MAX(message_id) AS top_message HAVING(child_id) = '".$message_id[$i]."' 

有什麼建議嗎?當你有一個聚集conditon

SELECT MAX(message_id) AS top_message 
FROM tablename 
WHERE child_id = '".$message_id[$i]."' 

只能使用HAVING條款:

+0

請發佈錯誤信息。 –

回答

4

您還缺少一個表名:

SELECT MAX(message_id) AS top_message FROM tablename WHERE child_id = '".$message_id[$i]."' 
1

您應該使用的WHERE代替HAVING條款。

+2

另外,'FROM myTable'。 –

+0

哦謝謝:)錯字錯誤..grrr –

0

您FROM子句和where子句需要。 having子句用於組過濾器。你沒有一個一組一組的條款,所以沒有理由寫一個條款。如果您想從選擇表被稱爲「MyTable的」,然後將查詢如下:

SELECT MAX(message_id) AS top_message 
FROM MyTable 
WHERE child_id = '".$message_id[$i]."' 

。注意,不需要各地child_id的paranthesis。請閱讀SQL和MySQL教程以獲取更多信息,您的生活將會更容易。