2010-08-15 42 views
1

价格日期时间的最新的N日数据 1.0 20100815 1 1.2 20100815 2 1.3 20100815 3 3.1 20100813 1 3.2 20100813 2 : : :选择从表

现在我想要一直选择最新的3天价格,我这样使用

select price, date from allquotes where date in 
     (select date from allquotes group by date order by date desc limit 3) 

是这样吗?这是否有效? 任何改善这个问题的建议?

如果我想只显示一个价格与最新的时间,如何做到这一点?

非常感谢!

+0

,或者你想展示他们全部? – RedFilter 2010-08-15 20:36:40

+0

感谢您的意见,我更新了我的文章 – skydoor 2010-08-15 20:43:20

+1

任何特定的SQL? – 2010-08-15 20:47:59

回答

1

这应该做SQL Server上的伎俩:

select top 3 q.pricee, q.date, q.time 
from (
    select date, max(time) as MaxTime 
    from allquotes 
    group by date 
) qm 
inner join quotes q on qm.date = q.date and qm.MaxTime = time 
order by date desc 

对于MySQL,尝试:

select q.pricee, q.date, q.time 
from (
    select date, max(time) as MaxTime 
    from allquotes 
    group by date 
) qm 
inner join quotes q on qm.date = q.date and qm.MaxTime = time 
order by date desc 
limit 3 
0
Select Top 3 Sum(price), 
      date, 
      Sum(time) 
From allquotes 
Group By date 
Order By date Desc 
你想要哪个价格时有同一日期重复取胜