【发布时间】:2010-04-01 20:21:10
【问题描述】:
MS SQL Server 2005 中有一个汇率表:
ID |当前 |价格 |日期
1 |美元 | 30 | 01.10.2010
3 |英镑 | 45 | 07.10.2010
5 |美元 | 31 | 08.10.2010
7 |英镑 | 46 | 09.10.2010
9 |美元 | 32 | 12.10.2010
11 | |英镑 | 48 | 03.10.2010
速率实时更新,表中有超过 10 亿行。
它需要编写一个 SQL 查询,它将提供每种货币的最新汇率。
我的决定是:
SELECT c.[id],c.[curr],c.[rate],c.[date]
FROM [curr_rate] c, (SELECT curr, MAX(date) AS rate_date FROM [curr_rate]
GROUP BY curr) t
WHERE c.date = t.rate_date AND c.curr = t.curr
ORDER BY c.[curr] ASC
是否可以编写不带子查询的查询并与派生表连接?
【问题讨论】:
标签: sql sql-server-2005 tsql optimization