Есть база со структурой:
user_id | value_id | amount | created_at | updated_at
1 | 22 | 1 | 2022-02-02 | 2022-02-02
1 | 23 | 2 | 2022-02-02 | 2022-02-02
1 | 23 | 1 | 2022-02-02 | 2022-02-02
2 | 22 | 3 | 2022-02-02 | 2022-02-02
2 | 22 | 4 | 2022-02-02 | 2022-02-02
2 | 22 | 1 | 2022-02-02 | 2022-02-02
3 | 24 | 3 | 2022-02-02 | 2022-02-02
3 | 24 | 3 | 2022-02-02 | 2022-02-02
Надо селектнуть отсюда записи, где user_id имеет value_id = 22 и value_id = 23, а так же имеет value_id = 23 ДВА и более раз. То есть вытащить user_id 1 в данном случае. Я понимаю, что первое условие через JOIN можно сделать, но как добавить проверку, что value_id = 23 два и более раз имеется?
Мой запрос сейчас выглядит так:
SELECT * FROM tbl T1 JOIN tbl T2 ON T1.user_id= T2.user_id AND T2.value_id= 22 WHERE T1.value_id= 23;