sql 选择语句
有表如下;流水号身份证号上报日期13707.523707.633727.8。。。。。。。。。。。注意一二条主键是流水号现要求按每个身份证号查询表中所有距离当前时间最短的记...
有表如下;
流水号 身份证号 上报日期
1 370 7.5
2 370 7.6
3 372 7.8
。。。。。。。。。。。
注意一二条 主键是流水号 现要求 按每个 身份证号 查询表中所有距离当前时间最短的记录, 这个如何做 展开
流水号 身份证号 上报日期
1 370 7.5
2 370 7.6
3 372 7.8
。。。。。。。。。。。
注意一二条 主键是流水号 现要求 按每个 身份证号 查询表中所有距离当前时间最短的记录, 这个如何做 展开
5个回答
展开全部
你的日期格式不正确,假如正确的话,可以直接查出来.建议上报日期数据格式为 datetime 数据类型.
上次不正确.现在这样就可以.你自己把转换写下吧!!!假如你是现在这个格式的话..不过最好转换成合适的格式....
select a.*
from 表 as a
inner join
(
select 身份证号,max(上抱日期) as maxdate
from 表
group by 身份证号
)as b
on
b.maxdate=a.上抱日期
and
a.身份证号=b.身份证号
转换函数用 substring(),indexchar(),convert()或者cast()函数组合实现.... 分太少...就不一一写出来了..组合自己看下... 要不加分...
上次不正确.现在这样就可以.你自己把转换写下吧!!!假如你是现在这个格式的话..不过最好转换成合适的格式....
select a.*
from 表 as a
inner join
(
select 身份证号,max(上抱日期) as maxdate
from 表
group by 身份证号
)as b
on
b.maxdate=a.上抱日期
and
a.身份证号=b.身份证号
转换函数用 substring(),indexchar(),convert()或者cast()函数组合实现.... 分太少...就不一一写出来了..组合自己看下... 要不加分...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare @t table (流水号 int, 身份证号 varchar(18), 上报日期 datetime);
insert @t values (1,'370','2009-07-05'),
(2,'370','2009-07-06'),
(3,'372','2009-07-08');
select a.流水号,a.身份证号,a.上报日期 from @t a
join
(
select 身份证号,MAX(上报日期) 上报日期 from @t group by 身份证号
) b on a.身份证号=b.身份证号 and a.上报日期=b.上报日期
order by a.流水号;
(3 行受影响)
流水号 身份证号 上报日期
----------- ------------------ -----------------------
2 370 2009-07-06 00:00:00.000
3 372 2009-07-08 00:00:00.000
(2 行受影响)
insert @t values (1,'370','2009-07-05'),
(2,'370','2009-07-06'),
(3,'372','2009-07-08');
select a.流水号,a.身份证号,a.上报日期 from @t a
join
(
select 身份证号,MAX(上报日期) 上报日期 from @t group by 身份证号
) b on a.身份证号=b.身份证号 and a.上报日期=b.上报日期
order by a.流水号;
(3 行受影响)
流水号 身份证号 上报日期
----------- ------------------ -----------------------
2 370 2009-07-06 00:00:00.000
3 372 2009-07-08 00:00:00.000
(2 行受影响)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确实需要考虑日期格式的问题,
以及日期是否都在当前日期之前,还是也存在着可能是当前日期之后的日期?
然后处理的话,可以使用游标来是实现。
呵呵,希望能有帮助,^_^
以及日期是否都在当前日期之前,还是也存在着可能是当前日期之后的日期?
然后处理的话,可以使用游标来是实现。
呵呵,希望能有帮助,^_^
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 流水号,身份证号,MAX(上报日期) FROM 表 GROUP BY 流水号,身份证号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
留个标记
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询