【问题标题】:Show first 10 entries by userid按用户 ID 显示前 10 个条目
【发布时间】:2020-05-16 01:01:36
【问题描述】:
我有一个数据库,其中包含列 ID、用户和日期的条目。我只想显示从每个用户最早日期开始的前 10 个条目
每个用户可能有 1000 个条目,但我只想在数据库中显示他们的前 10 个条目
你知道我该怎么做吗?
谢谢
【问题讨论】:
标签:
sql
oracle
sorting
date
【解决方案1】:
使用row_number():
select t.*
from (select t.*,
row_number() over (partition by user order by date) as seqnum
from t
) t
where seqnum <= 10;
【解决方案2】:
您可以使用解析函数ROW_NUMBER如下:
SELECT *
FROM
(
SELECT
T.*,
ROW_NUMBER() OVER(
PARTITION BY USERS
ORDER BY DATES
) AS RN
FROM YOUR_TABLE T
)
WHERE RN <= 10
干杯!!