私は見本市に訪問日を保存するテーブルを持っています。例えば、訪問者は、日「a」から日「b」までのフェアを訪問する。訪問日に基づいてクエリウインチグループを作成しました。それは私に "1日あたりの訪問回数"を与えます。ここ日時に基づいてグループ化する方法は?
は私のクエリです:
var visitDays = from v in _dbContext.VisitorEvents
join e in _dbContext.VisitorEvents on v.VisitorId equals e.VisitorId
where e.EventId == eventId
group v by EntityFunctions.TruncateTime(v.VisitDay) into g
select new StatisticItemDto()
{
Name = g.Key.ToString(),
Value = g.Count()
};
total =visitDays.Any()? visitDays.Sum(x => x.Value):0;
foreach (var item in visitDays)
{
item.Percent = Framework.Utility.GetPercent(item.Value, total);
}
が、私はこのクエリ以上のものをしたいですか?私は訪問者の量を毎日1時間ごとに意味します。 1日目の午前9時から午後17時まで。 "毎日1時間に何回訪問するのか"、他の日にも。 私の質問がはっきりすることを願っていますか?
public class StatisticItemDto
{
public string Name { get; set; }
public int Value { get; set; }
public int Percent { get; set; }
public int Total { get; set; }
public List<StatisticItemDto> Hours { get; set; }
}
intへのキャストが機能しなかった場合は、代わりに '-v.VisitDay.Ticks'を試してください。 – Emad
dear @emad私は、時間を基準にして各日付グループで日付順にグループを作成したい。 – Afsaneh
@Afsanehあなたはそれが何を意味するのか分かりませんか?あなたがマイナーなグループ分けをしているなら、あなたはメジャーなものを持っています。例えば、あなたはすでに(5,7,4)を3日間持っています。今、あなたは1時間に(1,0,0,2,2,5,1,0,0,1,1,2,0,0)を得るでしょう。毎時の結果が必要です – Emad