datetime a1 b1 x2 ...
07-01-2009 13:10 8 9 10
07-01-2009 13:11 8 8 2
07-01-2009 13:12 9 1 1
1行了一整天(= 86400行); 〜40列;所有相同的格式
我正在尋找一種方法來檢索最大值和列指定的時間。
我正在尋找一種方法來檢索某個列的最大值和相應時間以在一個時間範圍內指定。
喜歡的東西
Select top 1 time,a1 from table
where (datetime>=begin and datetime<end)
order by a1 desc
工作,但我不能使用列作爲參數。
LINQ解決方案或SP會很棒。
排序整個數據集以檢索最大值時,是否必須擔心性能?也許MAX函數會更快。
UPDATE
我試圖實現它的動態LINQ的方式,像蒂莫西(tvanfossen)建議
Dim q2 = context.table _
.Where("t >= @0 AND t < @1", begin, end) _
.OrderBy("@0 desc", col) _
.Take(1) _
.Select(col)
但這返回表中的第一個值。 這將返回時間範圍內的第一個值,而不是最大值。看一下SQL分析器,我發現沒有ORDER子句。
有什麼想法?
UPDATE 2
由於某些原因,替換值在orderby子句中不起作用。
.OrderBY(COL +「降序」)的作品
@Alex:我認爲,這將意味着ORDER BY,必須在客戶端上進行處理,LINQ to SQL的將不能夠翻譯成SQL。 – Richard 2009-07-02 15:25:01
@理查德:好點,我認爲你是對的。 – 2009-07-02 17:07:31