2 hww no1 hww_no1 于 2013.08.16 09:01 提问

sql server 查找帅选后每个人的第一条记录

各位师兄 我想建个view 但不知道怎么写sql 麻烦你们指点下 大恩不言谢
字段1 字段2
2 2013-08-01
2 2013-01-01
2 2012-05-01
1 2013-06-26
1 2013-02-01
3 2012-12-12
我要可以根据日期筛选出每个人的第一条数据
比如我输入日期 2013-07-01 结果是
2 2013-01-01
1 2013-06-26
3 2012-12-12

2个回答

u011210034
u011210034   2013.08.21 09:19
已采纳

如果是有要关联到其他表取数据可以:
select * from table1 a (select id,max(time) time from table2 where time<='输入时间' group by id) b where a.id=b.id and a.time=b.time

xinhaipeng521
xinhaipeng521   2013.08.16 09:45

select id,max(datetime) as datetime from test1 group by id

记得给点点分啊,意思意思,最近我帐号没分了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQL分组获取记录的第一条数据——PARTITION BY
在查询数据时如果有重复,我们都知道可以用distinct去重,但使用distinct只能去除所有查询列都相同的记录,如果有一个字段不同,distinct是无法去重的,但我们还想要实现这样的效果,这时我们可以用partition by。 1.使用ROW_NUMBER() OVER(PARTITION BY COLUMN1 ORDER BY COLUMN2)先进行分组。(根据COLUMN1分组,在分组
SQL 分组数据后 取每个分组的第一条数据(SQL Server)
可以通过 SQL中提供的Over操作实现分组,   数据库表结构(每隔数秒,通道写入一次采集数据)   SQL 语句 SELECT ROW_NUMBER() over (PARTITION By DATEDIFF(second,'2012/04/04',[Time])/300*300,chId order by DTM_History.[time]) as row
sql如何查询表的第一条记录和最后一条记录
问题: sql如何查询表的第一条记录和最后一条记录方法一:使用topselect TOP 1 * from apple;select TOP 1 * from apple order by id desc;(备注:top是Access的语法,MySQL不支持)方法二:使用LIMIT第一条记录mysql> select * from apple LIMIT 1;默认升序,等价于mysql> sele
sql取记录中的第一条或是最大的一条
--按某一字段分组取最大(小)值所在行的数据 /* 数据如下: name val memo a    2   a2(a的第二个值) a    1   a1--a的第一个值 a    3   a3:a的第三个值 b    1   b1--b的第一个值 b    3   b3:b的第三个值 b    2   b2b2b2b2 b    4   b4b4 b    5   b5
取每组数据的第一条记录的SQL语句
CREATE TABLE JobLog -- 操作日志表 (     JobLogId] int NOT NULL ,       -- 主键     FunctionId nvarchar(20) NULL , -- 功能Id     OperateTime datetime NULL      -- 操作时间 ) ON PRIMARY GO ALTER TABLE JobLog
sql分组后取第一条记录
select * from PD_ReCode a where  not  exists  (select *  from PD_ReCode b  where a.ChuangKou=b.ChuangKou and a.Time_Call  and    IS_Call=1 and DATEDIFF(dd,RiQi,GETDATE())=0  order by a.ChuangKou
取每组数据的第一条记录和最后一条记录的SQL语句
-- 操作日志表 CREATE TABLE JobLog  -- 操作日志表 (      JobLogId] int NOT NULL ,       -- 主键      FunctionId nvarchar(20) NULL , -- 功能Id
SQL 获取每一组第一条记录
根据分组取出每个分组的第一条记录数据 1.先将数据分组并对每一组进行排序; over(partition by 分组字段 order by 排序字段) 2.根据需要获取序号1的数据 SELECT * FROM ( SELECT RECEIVE_ID,LINE_CD,REC_TIME ,ROW_NUMBER() over(partition by LINE_CD order
SQL语句分组获取记录的第一条数据的方法
使用Northwind 数据库 首先查询Employees表 查询结果: city列里面只有5个城市 使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 先进行分组 注:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). sql语句为: select Employ
取得数据表中前N条记录,某列重复的话只取第一条记录
项目需要筛选出不重复数据,以前没有做过,第一反应就是利用distinct处理,但是弄了好久也没搞出来,大家有知道的望告知下。 这次筛选没有使用distinct ,是利用group by ,利用id为唯一标示符(自增长),对按user进行排列,然后取重复项最小id(非重复项直接取唯一id),并以此id为条件查询,从而去除重复的数据。 数据格式为: 使用语句如下: se