sqlserver 获取某段时间每天数据的前10行数据

比如说我要取2020年1月21日到2020年2月10号的数据 就是每天取前10条数据 一共19天一共190条数据 这样的sql怎么写 请大家帮帮忙

mssqlserver?有row_number,下面是取每天最新的10条,如果是升序,去掉desc

select * from(
select *,ROW_NUMBER() over(partition by CONVERT(nvarchar(10),时间字段,120) order by 时间字段 desc) as rn
from 表名称
where 时间字段 between '2020-1-21' and '2020-2-11'
)tb where rn<11

用开窗函数做分组排序就行了

select t2.* from 
(select t.*,  row_number() over(partition by  日期 order by id) rn  fromas t)  as t2  
where rn<=10

用ROW_NUMBER()函数

select top 10 * from 表名
where 日期条件 between '2020-01-21' and '2020-02-10'
order by 条件