次のようなテーブルがあります。
id user_id value
----------------------------
1 2 colour
2 2 receive_email
3 3 colour
4 3 receive_email
5 3 receive_info
このテーブルを user_id でグループ化します。私がやりたいことは、値「receive_info」を含まないグループのみを返すことです。したがって、上記の場合、user_id = 2 の 1 行が返されます。
私はいくつかのことを試しましたが、これが最新です:
SELECT id, user_id, value
FROM table
GROUP BY user_id
HAVING value NOT IN('receive_info');
私も試しました:
SELECT id, user_id, value
FROM table
WHERE value NOT IN('receive_info')
GROUP BY user_id;
これを行うと、値 = 'receive' を含むユーザーのレコードが返されます。
私がどこで間違っているのか誰にもわかりますか?
ありがとう