group by
する必要があります 集計関数を使用していないものすべて:
SELECT candidate_id, message, max(created_unix), jobpost_id, staffuserid
FROM messages
WHERE employer_id='$employerid' AND last='company'
GROUP BY candidate_id, message, jobpost_id, staffuserid
message
の場合 行ごとに異なり、group by candidate_id
したい 、message
を使用してはいけません 。その場合は、選択リストから削除するだけで、group by
では不要になります。 リスト。使用していない他のフィールドについても同じことが言えます。
集計関数を使用する場合は、集計関数またはgroup by
のいずれかに各フィールドを含める必要があることに注意してください。 。そうしないと、SQLは、返された行のデータをプルする行を認識できません。
更新:
あなたが探しているものを見た後、これはトリックを行います:
SELECT candidate_id, message, max(created_unix), jobpost_id, staffuserid
FROM messages
WHERE employer_id='$employerid' AND last='company' AND
created_unix = (
SELECT max(subm.created_unix)
FROM messages subm
WHERE subm.candidate_id = messages.candidate_id
)