Это вопрос, который я задал вчера, по вопросу this.
я не знаю, если я должен расширить свой первоначальный вопрос, я решил начать новый (медведь со мной ...)Сортировка результата при использовании ROW_NUMBER()
Мои 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
I получить (ожидаемый) результат:
a.guid_column1 b.guid_column1 c.date_column1 d.guid_column1
-------------------------------------------------------------------
a1 b1 07/08/2013 someUniqueID
a2 b2 05/06/2012 someUniqueID
Хитрость в том, что я хотел бы разобраться, что результат по dateadd
, что-то вроде этого ORDER BY dateadd(month, a.float_column, c.date_column1) asc
a.float_column
, конечно, не всегда одинаково (и на самом деле введен пользователем позже).
Есть ли способ сделать это в SQL (я использую SQL Server 2005)
Можете ли вы уточнить, что «a.float_column, конечно, не всегда одинаково (и на самом деле введено пользователем позже)». немного, пожалуйста? – Gidil
Конечно! Это поле в моей форме, которое заполняется пользователем и обычно является числом от 1 до 12. – seph
Является ли a.float_column всегда введенным при запуске запроса? – Hazaart