怎么用sql语句获取每一组的第一条记录(包括所有字段,不是单个字段)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用sql语句获取每一组的第一条记录(包括所有字段,不是单个字段)相关的知识,希望对你有一定的参考价值。
请问各位高手谁知道啊
一楼的能不能详细点呢?
这样取出其中num为1的本回答被提问者和网友采纳 参考技术B select identity(int,1,1) id,* into #temp from TAB
select groupid,min(id) minid into #temp1 from #temp group by groupid
select * from #temp where id in(select minid from #temp1) 参考技术C sql 2000要借助ID自增长字段
sql 2005以上及oracle 10g以上,可以用排名函数来解决
MSSQL分组取后每一组的最新一条记录
数据库中二张表,用户表和奖金记录表,奖金记录表中一个用户有多条信息,有一个生效时间,现在要查询:
奖金生效时间在三天前,每个用户取最新一条奖金记录,且用户末锁定
以前用的方法是直接写在C#代码中的:
for(所有末锁定用户)
查询奖金记录表 top 1 where uid=??? order by 生效时间 desc
if(上面查询的记录生效时间在三天前)
输出
今天花了大部分时间研究了一下,终于找到一条SQL语句就可以把结果查出来的方法:
那个row_number函数在MSSQL2008以上才会有!!!
以上是关于怎么用sql语句获取每一组的第一条记录(包括所有字段,不是单个字段)的主要内容,如果未能解决你的问题,请参考以下文章
oracle 查询数据只要排序后的第一条记录(不用rownum=1),sql语句怎么写