如何提取每个人日期最新的一条记录?(在视图中应用)

normandj 2005-10-20 11:30:49
例子
1 张三 2004-1-1 三级
2 张三 2005-1-1 四级
3 李四 2003-1-1 一级
4 李四 2004-1-1 三级

结果
2 张三 2005-1-1 四级
4 李四 2004-1-1 三级

...全文
169 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
$扫地僧$ 2005-10-20
  • 打赏
  • 举报
回复
select 表.* from 表 ,(select NAME,max(DATE) as DATE from 表 group by NAME ) T
where 表.NAME=T.NAME and 表.DATE=T.DATE
$扫地僧$ 2005-10-20
  • 打赏
  • 举报
回复
select * from 表 ,(select NAME,max(DATE) as DATE from 表 group by NAME ) T
where 表.NAME=T.NAME and 表.DATE=T.DATE
Alang_79 2005-10-20
  • 打赏
  • 举报
回复
SELECT * FROM 表 WHERE NAME+DATE IN (SELECT NAME+DATE FROM (SELECT NAME,MAX(DATE) AS DATE FROM 表 GROUP BY NAME))
surn 2005-10-20
  • 打赏
  • 举报
回复
好像 少了个字段
normandj 2005-10-20
  • 打赏
  • 举报
回复
" select Name,max(Date),max(Level) from A group by Name "

这个方法不行,max(Level) 这个会不对,因为可能会降级,可以今年四级, 明年三级
xueguang 2005-10-20
  • 打赏
  • 举报
回复
SELECT * FROM 表 WHERE NAME+DATE IN(SELECT NAME+MAX(DATE) FROM 表 GROUP BY NAME)
520zyb 2005-10-20
  • 打赏
  • 举报
回复
更改:
select Name,max(Date),max(Level) from A group by Name
520zyb 2005-10-20
  • 打赏
  • 举报
回复
select Name,max(Date),Level from A group by Name,Level

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧