2011-07-20 11 views
0

以下のWHERE文を追加すると検索できないようです。しかし、それなしで動作します....MySQL where search issue

何か間違っていますか?

以下は私のコードです:ありがとうございます。

SELECT DISTINCT (
        `name` 
        ), users.id, `email`, `state_id`, 
        MAX(`total_time_driven_at_this_trip`) AS trip 
        FROM `users` 
        LEFT JOIN trip_vics ON users.id = trip_vics.user_id 
        GROUP BY `user_id` 
        WHERE name LIKE '%dan%' 

答えて

3

あなたは、キーワードは集約関数で使用することはできませんgroup by

0

havingは、group byとなります。

having name like '%dan%' 

それとも、実際にhaving句のwhere節の独立を持ってしようとしている場合、それは、joingroup by文を行く必要があります。

+0

彼は 'HAVING'を必要としません – zerkms

1

ザ・前にwhere権利を配置する必要があります。代わりにHAVINGを使用するhttp://www.w3schools.com/sql/sql_having.asp

MAXを計算する前にフィルタを適用する場合は、グループの前にWHEREを入れます。

+0

どこで' WHERE'を使って集計関数の使用法が分かりますか? – zerkms

+0

はい、サー!理にかなって編集されました。 –