2012-05-08 9 views
0

別の列の値が何かと同等であるmysqlテーブルの特定の列から最大の値を見つける必要があります。しかし、私が使用しているクエリでは、表示とSQLエラーメッセージを取得し続けます。私の質問は次の通りです:WHERE句と組み合わせたSQL MAX

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

何か提案がありますか?

+0

エラーメッセージを投稿してください。 –

答えて

4

また、テーブル名が欠落しています

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

かわりHAVING句のWHEREを使用する必要があります:あなたが集約さconditonを持っているとき

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

HAVING句を使用してください。

+2

また、「FROM myTable」。 –

+0

ああ、ありがとう:)誤字.....rrr –

0

あなたが句とWHERE句から必要になります。 having句は、グループフィルタに使用されます。あなたはgroup by節を持っていないので、having節を書く理由はありません。 child_id周りparanthesisが必要とされていないことを

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

注意:あなたがから選択するテーブルが「MyTableと」と呼ばれている場合は、次のようにあなたのクエリがあります。 SQLとMySQLのチュートリアルを読んでください。あなたの人生はもっと簡単になります。