Я могу подумать об использовании двух операторов предложения With, как указано ниже.
С Date1 как (выберите идентификатор пользователя, дату от (выберите userif, date, rank () более (разделить по порядку идентификатора пользователя по дате des c) как rnk из таблицы) A, где A.rnk = 1)
С Date2 как (выберите ID пользователя, дату от (выберите ID пользователя, дату, rank () за (разделить по порядку ID пользователя по дате des c) как rnk из таблицы) B, где B.rnk = 2 )
выберите date1.userid, date1.date от date1 присоединиться к date2 на date1.userid = date2.userid где DATEDIFF (date1.date, date2.date) <7 </p>