急求SQL语句一条

ntpmsl 2007-11-11 10:03:44
在一个表中有多个用户每个用户有多条记录(时间),现在我只要每个用户距今最近的一条记录,表结构是这样的:
id   name date
001 张三   1997-6-20
008 李四   2000-4-6
001 张三   2007-8-20
012 王无   2006-10-1
008 李四   2007-10-12

所要的结果为:
 001 张三   2007-8-20
 012 王无   2006-10-1
 008 李四   2007-10-12
谢谢各位高手!
...全文
185 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fairyZ1231 2007-11-12
  • 打赏
  • 举报
回复
帮顶,接分
yufanzy909 2007-11-12
  • 打赏
  • 举报
回复
jf
a_cat 2007-11-12
  • 打赏
  • 举报
回复
select distinct(name) from 表名 order by date desc
gray820928 2007-11-11
  • 打赏
  • 举报
回复
这问题该去sql区问。。。
jiazheng 2007-11-11
  • 打赏
  • 举报
回复
select * from 
from
(
select *,row_number() over(partition by id order by date desc) rn
) t
where t.rn=1
ilgll 2007-11-11
  • 打赏
  • 举报
回复
分组取头名的问题,解决方法如下,自己领会吧:
--"找到sxrq靠前三的商品,是每个spid的前三名",不知道sxrq的前三是按從小到大的順序還是從大到小的順序
--從小到大的順序
--方法一:
Select * From sphwph A Where (Select Count(*) From sphwph Where spid=A.spid And sxrq<A.sxrq)<3
--方法二:
Select * From sphwph A Where Not Exists(Select * from sphwph Where spid=A.spid And sxrq<A.sxrq Having Count(*)>2)
--方法三:
Select * From sphwph A Where sxrq In(Select Top 3 sxrq From sphwph Where spid=A.spid Order By sxrq)
SatanAngel 2007-11-11
  • 打赏
  • 举报
回复
你应该放到相关的版面提问:
select id,name,max(date)
from table
group by id,name
不知道行不行
销魂的拖拉机 2007-11-11
  • 打赏
  • 举报
回复
这个提问我好像是在哪儿看到过
weijiepeng 2007-11-11
  • 打赏
  • 举报
回复
mark

662

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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