是否有一个选项可以获得最高日期的行而无需加入同一个表并使用max(date)? Top1是否通过desc有效选项排序?SQL Server的最后日期
我使用SQL Server 2000.并且性能很重要。
编辑:
表1:
columns: part - partdesc
表2:
columns: part - cost - date
select a.part,partdesc,b.cost
left join(select cost,part
right join(select max(date),part from table2 group by part) maxdate ON maxdate.date = bb.date
from table2 bb) b on b.part = a.part
from table1
我不知道,如果上述工程的代码,但是这是我不喜欢的查询。在我看来,效率低下。
为什么你不能使用'MAX'日期? 'TOP 1 ORDER BY DATE DESC'将基本上是相同的操作,但可能效率较低,因为它可能会排列整个表格而不是只找到最高值。 – JNK 2012-03-05 14:01:41
@JNK带过滤器的表格将有最多10行。正常2行。从这些行我需要最后的日期。 – BBAA 2012-03-05 14:24:31
如果你只有10行,那么为什么性能还要考虑? – JNK 2012-03-05 14:28:16