SELECT DISTINCT 物品,
(SELECT MAX(报价)
FROM [TABLE]
WHERE 物品 = a.物品) 历史最高,
(SELECT MIN(报价)
FROM [TABLE]
WHERE 物品 = a.物品) 历史最低,
(SELECT TOP 1 报价
FROM [TABLE]
WHERE 物品 = a.物品
ORDER BY 时间 DESC) 最新,
(SELECT TOP 1 c.报价
FROM [TABLE] b, [TABLE] c
WHERE b.物品 = a.物品 AND c.物品 = a.物品 AND b.时间 <> c.时间
ORDER BY b.时间 DESC, c.时间 DESC) 上一次
FROM [TABLE] a用这种方式当某种物品只有一条记录时,“上一次”显示为NULL,不知能否满足您的要求
(SELECT MAX(报价)
FROM [TABLE]
WHERE 物品 = a.物品) 历史最高,
(SELECT MIN(报价)
FROM [TABLE]
WHERE 物品 = a.物品) 历史最低,
(SELECT TOP 1 报价
FROM [TABLE]
WHERE 物品 = a.物品
ORDER BY 时间 DESC) 最新,
(SELECT TOP 1 c.报价
FROM [TABLE] b, [TABLE] c
WHERE b.物品 = a.物品 AND c.物品 = a.物品 AND b.时间 <> c.时间
ORDER BY b.时间 DESC, c.时间 DESC) 上一次
FROM [TABLE] a用这种方式当某种物品只有一条记录时,“上一次”显示为NULL,不知能否满足您的要求
(Select DISTINCT 物品 From SrcT) T1
inner join
(Select 物品, Max(报价) 历史最高,Min(报价) 历史最低 From SrcT Group By 物品) T2
on T1.物品 = T2.物品
inner join
(Select 物品, 报价 最新 From SrcT S
Inner Join (Select 物品,Max(时间) 时间 From SrcT) T
On S.物品 = T.物品 And S.时间=T.时间) T3
On T1.物品 = T3.物品
Left Join
(Select 物品, 报价 上次 From SrcT S
Inner Join (Select 物品,Max(时间) 时间 From SrcT A
inner join (Select 物品,Max(时间) 时间 From SrcT) B
On A.物品 = B.物品
Where A.时间<>B.时间 ) T
On S.物品 = T.物品 And S.时间=T.时间) T4
On T1.物品 = T4.物品
(select top 1 报价 from (select top 2 时间,报价 from 表 where 物品=tem.物品 order by 时间 desc) aa order by 时间) 上一次
from 表 tem group by 物品
select *
from T a
where t.datefield = (select max(datefield) from t where a.id = id)
datefield 为时间列
as
select 物品,min(报价) as 历史最低,max(报价) as 历史最高,max(时间) as 上次报价
from 表
group by 物品
是
create view ttt
as
select 物品,min(报价) as 历史最低,max(报价) as 历史最高,
(select top 1 报价 from 表 b where b.物品=表.物品 order by 时间 desc
) as 上次报价
from 表
group by 物品
create view ttt
as
select 物品,min(报价) as 历史最低,max(报价) as 历史最高,
(select top 1 报价 from 表 b where b.物品=表.物品 order by 时间 desc
) as 最新报价,
(select max(报价) from 表 b where(select count(*) from 表 b2 where b2.时间>b.时间 )=1 ) as 上次报价,
from 表
group by 物品
(Select DISTINCT 物品 From SrcT) T1
inner join
(Select 物品, Max(报价) 历史最高,Min(报价) 历史最低 From SrcT Group By 物品) T2
on T1.物品 = T2.物品
inner join
(Select 物品, 报价 最新 From SrcT S
Inner Join (Select 物品,Max(时间) 时间 From SrcT) T
On S.物品 = T.物品 And S.时间=T.时间) T3
On T1.物品 = T3.物品
Left Join
(Select 物品, 报价 上次 From SrcT S
Inner Join (Select 物品,Max(时间) 时间 From SrcT A
inner join (Select 物品,Max(时间) 时间 From SrcT) B
On A.物品 = B.物品
Where A.时间<>B.时间 ) T
On S.物品 = T.物品 And S.时间=T.时间) T4
On T1.物品 = T4.物品