有关于简单sql的问题

aaajedll 2010-08-26 02:19:22

SELECT t.*,c.nvcName FROM
(SELECT ri.iUserID,rr.ResumeID,rr.CompanyID,rr.ReadDate
FROM ps_s_ResumeRead rr,ps_s_ResumeInfo ri
WHERE RR.ResumeID = ri.iID
AND ri.iUserID = 359025)
t,et_s_Comp c
WHERE t.CompanyID = c.iID
GROUP BY t.iUserID,t.ResumeID,t.CompanyID,t.ReadDate,c.nvcName
ORDER BY t.ReadDate DESC

请教大家有关于sql的一个问题,我想取出ReadDate字段内时间最新的一条记录,不能用top因为会有多个CompanyID


...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
GUOCHENGJUN 2010-08-26
  • 打赏
  • 举报
回复
IuserID	ReSumeID	companyID	ReadDATE	NVCNAME
309025 357641 26687 2010-02-11 20:24:02.500 heau
309025 357640 26685 2010-02-11 20:26:02.500 heau
GUOCHENGJUN 2010-08-26
  • 打赏
  • 举报
回复
if not object_id('[ps_s_ResumeRead]') is  null 
drop table ps_s_ResumeRead
go
create table [ps_s_ResumeRead]([IuserID] int,[ReSumeID] int,
companyID INT,ReadDATE DATETIME ,NVCNAME CHAR(200))
go
insert [ps_s_ResumeRead]
select 309025,357640,26685,'2010-02-11 20:25:02.500','heau' union all
select 309025,357640,26685,'2010-02-11 20:26:02.500','heau' union all
select 309025,357641,26685,'2010-02-11 20:25:02.500','heau' union all
select 309025,357641,26687,'2010-02-11 20:23:02.500','heau' union all
select 309025,357641,26687,'2010-02-11 20:24:02.500','heau'

go
select a.* from ps_s_ResumeRead a
where a.ReadDate=(select MAX(b.ReadDate) from ps_s_ResumeRead b where
b.CompanyID=a.CompanyID )
go
select a.* from ps_s_ResumeRead a where exists(select 1 from ps_s_ResumeRead where
CompanyID=a.CompanyID and ReadDate<a.ReadDate)
黄_瓜 2010-08-26
  • 打赏
  • 举报
回复
--try
SELECT t.*,c.nvcName FROM
(SELECT ri.iUserID,rr.ResumeID,rr.CompanyID,rr.ReadDate
FROM ps_s_ResumeRead rr,ps_s_ResumeInfo ri
WHERE RR.ResumeID = ri.iID
and not exists(select 1 from ps_s_ResumeRead where ResumeID=rr.ResumeID and ReadDate > rr.ReadDate )
AND ri.iUserID = 359025)
t,et_s_Comp c
WHERE t.CompanyID = c.iID
百年树人 2010-08-26
  • 打赏
  • 举报
回复
try
SELECT t.*,c.nvcName FROM 
(SELECT ri.iUserID,rr.ResumeID,rr.CompanyID,rr.ReadDate
FROM ps_s_ResumeRead rr,ps_s_ResumeInfo ri
WHERE RR.ResumeID = ri.iID
AND ri.iUserID = 359025
AND NOT EXISTS(
SELECT 1 FROM ps_s_ResumeRead a,ps_s_ResumeInfo b
WHERE a.ResumeID = b.iID
AND a.iUserID = 359025
AND a.ReadDate>rr.ReadDate)
)t,
et_s_Comp c
WHERE t.CompanyID = c.iID
GROUP BY t.iUserID,t.ResumeID,t.CompanyID,t.ReadDate,c.nvcName
ORDER BY t.ReadDate DESC
xuam 2010-08-26
  • 打赏
  • 举报
回复
max()
GUOCHENGJUN 2010-08-26
  • 打赏
  • 举报
回复
select a.* from ps_s_ResumeRead a where exists(select 1 from ps_s_ResumeRead where 
CompanyID=a.CompanyID and ReadDate<a.ReadDate)

34,588

社区成员

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

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