У меня есть стол friends
: user_id friend_id date
. Это строка означает: user_id Добавить друга в какую-то датуMySql нетривиальный select
Мне нужно сделать запрос: Получить пользователей, по каждому их запросу у них есть ответ.
получить все пользовательские x
: для всех (х, у, дата) => (у, х, date2): date2> Дата
Я пытался написать запрос, она должна работать во всех случаях?
select f.user_id from friend f
group by f.user_id
having
(select count(f2.user_id) from friend f2
where f2.date > f.date and f2.friend_id = f.user_id
group by (f.friend_id)) = count(f.friend_id)
Мои умения sql - это плохо.
Может быть, вы могли бы поставить образцы данных и ожидаемых результатов. Одна из проблем, связанных с вашим запросом, - «иметь», появляется после «group by». – sgeddes
Какой результат вы хотите? –
@ Список пользователей Bernd Buffen, каждый из которых имеет для каждого запроса тот же пользователь, обратный запрос от этого пользователя. – punksta