У меня есть запрос, который выполняет несколько объединений и имеет несколько критериев в предложении WHERE, и в итоге я получаю результат, который по сути выглядит следующим образом:
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2008-01-01 | different |
| 1 | 2009-01-01 | info |
| 1 | 2010-01-01 | for |
| 2 | 2008-01-01 | each |
| 3 | 2008-01-01 | row |
| 3 | 2009-01-01 | here |
Таким образом, по сути для каждого пользователя будет одна или несколько дат в прошлом и 0 или более дат в будущем.
Мне нужно как-то уменьшить набор данных до одной строки на пользователя, выбрать только строку, в которой дата последнего прохождения прошла . То есть при любом добавлении предложения GROUP BY
или HAVING
результат, приведенный выше, будет выглядеть следующим образом:
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2009-01-01 | info |
| 2 | 2008-01-01 | each |
| 3 | 2009-01-01 | here |