Я пытаюсь создать график гистограммы значений времени жизни в C#.Группировка данных по диапазону для создания гистограммы
Я хотел бы сгруппировать данные в 10 копеек. Я пытаюсь найти способ, которым я не должен явно определять каждый ведро.
выход будет что-то вроде этого:
Range : Count
0-10 : 23
10-20 : 40
20-30 : 43
ЭСТ ...
У меня также есть таблица членов; скажем, у него есть два поля.
int Id
Decimal LifeTimeValue
Есть ли способ сделать это в LINQ, который не требует от меня явного определения каждого ведра?
Вот что я сделал до сих пор в SQL. Я могу легко переносить это в LINQ, но это плохой подход, поскольку мне придется дублировать предложение when для каждого ведра.
select
case when LifeTimeValue >= 0 and LifeTimeValue < 10 then ' 0 - 10'
when LifeTimeValue > 10 and LifeTimeValue <= 20 then ' 10+ - 20'
when LifeTimeValue > 20 and LifeTimeValue <= 30 then ' 20+ - 30'
else 'over 30'
end As PriceRange,
count(LifeTimeValue) as ItemTotal
from tblMember
group by
case when LifeTimeValue >= 0 and LifeTimeValue < 10 then ' 0 - 10'
when LifeTimeValue > 10 and LifeTimeValue <= 20 then ' 10+ - 20'
when LifeTimeValue > 20 and LifeTimeValue <= 30 then ' 20+ - 30'
else 'over 30'
end;
http://sscce.org/. 'Я ищу запрос linq, который создавал бы это для меня.' Не вопрос. –
Где твоя неудачная попытка? –
Это очень ленивая попытка ответить на этот вопрос. Где ваша попытка решить эту проблему? В любом месте даже нет знака вопроса. –