Я хочу получить 2 записи с одинаковым идентификатором - PullRequest
0 голосов
/ 26 сентября 2019
Id  user_id   Name
--- --------  ------
1      1        A
2      1        B
3      1        C
4      2        D
5      2        E
6      2        F

Это моя пользовательская таблица, и я хочу получить 2 строки по убыванию, используя user_id.Я хочу вывод, как.

Id  user_id   Name
--- --------  ------
2      1        B
3      1        C
5      2        E
6      2        F

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 26 сентября 2019

Использование row_number():

select Id, user_id, Name
from (select t.*, row_number() over (partition by user_id order by id desc) as seqnum
      from t
     ) t
where seqnum <= 2
order by user_id, id
0 голосов
/ 26 сентября 2019

Я думаю, что вам строго нужен более старый подход.Вы должны попробовать ниже связанный подзапрос -

SELECT Id, user_id, Name
FROM  T T2
WHERE (SELECT  COUNT(*)
       FROM    T T3
       WHERE T2.user_id = T3.user_id
       AND T2.Id <= T3.Id) <= 2

Fiddle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...