繁体   English   中英

SQL 限制列中每个唯一值的结果

[英]SQL Limit Results Per Unique Value In Column

这是我所拥有的简化版本。

我有一张名为报告的表格。 它具有以下列:

  • ID
  • 类型
  • created_timestamp

对于类型,假设我有 10 种报告类型和每种类型的数百种报告。 如何返回每种类型的最近 10 份报告。

所以结果应该是这样的:

  • 最后 10 个类型 1 报告行
  • 最后 10 个类型 2 报告行
  • 最后 10 个类型 3 报告行

等等

例如,您可以使用 window function ROW_NUMBER ,但是当每个 tspe 有很多行时它们会很慢

WITH CTE as
(SELECT
    id,
    type,
    created_timestamp,
    ROW_NUMBER() OVER(PARTITION BY type ORDER BY created_timestamp DESC) rn
FROM your_table)
SELECT id,type, created_timestamp FROM CTE WHERE rn < 11

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM