var PAS =
(from v in dc.PAS
where
days.Contains(Convert.ToDateTime(v.fecha))
group v.valor by new { v.entidad_id, v.modulo_id, v.peticion_id, v.hora_id, v.dia_id } into hg
orderby hg.Key.entidad_id descending, hg.Key.peticion_id ascending, hg.Key.hora_id descending
select new
{
Hora = hg.Key.hora_id,
Dia = hg.Key.dia_id,
Entidad = hg.Key.entidad_id,
Modulo = hg.Key.modulo_id,
Peticion = hg.Key.peticion_id,
Media = Math.Round(System.Convert.ToDouble(hg.Average()), 3, MidpointRounding.AwayFromZero)
};
然後做一個foreach,並將每個結果的新行插入到具有這個新值的另一個表中......(因爲我不能批量生成,至少我不知道如何在LINQ)Linq to SQL if語句
我有三個v.peticion_id
可能的值...我想兩個「Media
」欄目,用一個實際的媒體,而另一個只是v.peticion_id = 0
價值......我無法解釋更好,所以這裏是我想要得到的一個例子...
Hora | Dia | Entidad | Modulo | Peticion | Media | Media2
0 0 0 0 0 333.3 | 333.3
0 0 0 0 1 4.4 | 333.3
0 0 0 0 2 0.7 | 333.3
1 0 0 0 0 178.2 | 178.2
1 0 0 0 1 1.8 | 178.2
1 0 0 0 2 0 | 178.2
我希望有人能幫助我。 。
第一組沒有'peticion_id',用條件'peticion_id == 0'計算'Media2',然後用'peticion_id'分組這些數據並計算平均值。 –
你能寫一個示例代碼嗎?我不知道如何通過'peticion_id == 0'條件進行分組,然後在同一個查詢中通過'peticion_id'分組...謝謝 –