【问题标题】: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
    

    干杯!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2014-06-01
      • 1970-01-01
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多