строго вторыми по каждому user_id.
Как?
- Кореллированный подзапрос с лимитом - нельзя
- Оконных функций нет
Что делать?
На ум пока приходит только изотерическое решение, вида:
- отобрать все payment_id, являющиеся первыми через group by и argmin
- наложить их как фильтр not in и ещё раз отобрать payment_id, являющиеся первыми через group by и argmin
- тогда отберутся первые за вычетом первых из первой волны (простите за тавтологию)
Но это как-то совсем уж... А если надо отобрать не 2-е, а строго 3-е?
Select user_id , groupArray(payment_id)[2] From (select user_id, payment_id from payment order by ...) group by user_id
Обсуждают сегодня