繁体   English   中英

SQL - 按天限制结果

[英]SQL - Limiting results by day

我有一个查询返回一周中每一天的数据

day1 result result
day2 result result
day3 result result

每天都有数百行结果,但我只想查看前 10 行,但对于每一天。

举个例子,如果我只想要每天的前 3 个结果,它看起来像这样。

day1 result result
day1 result result
day1 result result
day2 result result
day2 result result
day2 result result
day3 result result
day3 result result
day3 result result

基本上我对限制功能的了解只能说“如果我限制 10,它只会给我前 10 行,这都是从第一天开始的”

我卡在这一点上

您可以使用row_number()

select t.*
from (select t.*,
             row_number() over (partition by day order by ?) as seqnum
      from t
     ) t
where seqnum <= 10;

? 用于指定如何定义前 10 名的列。

暂无
暂无

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

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