Как выбрать из таблицы ограничение на столбец одинаковые значения X результаты - PullRequest
0 голосов
/ 30 марта 2019

Мой стол:

id   uid  art_id  
---|-----|--------
1  | 10  |  11   |
2  | 11  |  23   | 
5  | 10  |  16   | 
3  | 10  |  13   | 
4  | 11  |  59   | 
6  | 11  |  36   |
7  | 11  |  55   | 
8  | 13  |  68   | 

Мне нужно выбрать из таблицы два результата art_id из каждого идентификатора пользователя, но максимально два в порядке строк.

Обновление: у меня большая база данных со строками CCA 19 м, мне нужно выбрать две последние статьи от каждого пользователя (ограничение 200 пользователей на запрос SQL). Заказ по uid

Результат будет:

id   uid  art_id  
---|-----|--------
1  | 10  |  11   |
5  | 10  |  16   | 
2  | 11  |  23   | 
4  | 11  |  59   | 
8  | 13  |  68   | 
3  | 10  |  13   |
6  | 11  |  36   | 
7  | 11  |  55   | 

1 Ответ

0 голосов
/ 30 марта 2019
SELECT MOD (ROW_NUM, 2) + TRUNC (ROW_NUM, 2) AS GROUPBY2,
     ROW_NUM,
     ID,
     UID,
     ART_ID
FROM (SELECT ROW_NUMBER ()
                OVER (PARTITION BY UID ORDER BY UID DESC)
                ROW_NUM,
             ID,
             UID,
             ART_ID
        FROM TABLE )
ORDER BY GROUPBY2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...