比如说我要取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 from 表 as t) as t2
where rn<=10
用ROW_NUMBER()函数
select top 10 * from 表名
where 日期条件 between '2020-01-21' and '2020-02-10'
order by 条件