这是我昨天提出的这个问题的后续。
我不知道我是否应该扩展我原来的问题,我决定开始一个新的(忍受我......)
我SELECT
的现在是这样的:
SELECT *
FROM
(
SELECT
a.guid_column1, b.guidID_column1, c.date_column1, d.guid_column1
ROW_NUMBER() OVER (PARTITION BY a.guid_column1, b.guid_column1 ORDER BY c.date_column1 DESC) as rn
...
-- JOINS AND WHERE STUFF HERE
....
) t
WHERE t.rn = 1
我得到这样的(预期)结果:
a.guid_column1 b.guid_column1 c.date_column1 d.guid_column1
-------------------------------------------------------------------
a1 b1 07/08/2013 someUniqueID
a2 b2 05/06/2012 someUniqueID
棘手的部分是我想按 a 对结果进行排序,这样的dateadd
事情ORDER BY dateadd(month, a.float_column, c.date_column1) asc
a.float_column
当然并不总是相同的(实际上是用户稍后输入的)。
有没有办法在 SQL 中实现这一点(我使用的是 SQL Server 2005)