我想计算第二天早上7点到早上7点之间有多少1和0的值。
在这里想到一个酒吧,它在上午10点营业,但在第二天早上7点关闭,他们希望他们的“报告”能够在这一天特定。
所以在上午7点之前的所有数据都需要添加到前一天。
public ActionResult Details(int id)
{
KundeContext kundeContext = new KundeContext();
var result = kundeContext.Kundes.Where(x => x.KdNr == id).FirstOrDefault();
return View(result);
}
这将给我几乎我想要的,问题是我需要在早上7点之前计算所有这些数据,直到前一天。
答案 0 :(得分:1)
这样的事情应该有效:
SELECT
CASE WHEN HOUR(delivered) < 7
THEN CONCAT(DATE(DATE_ADD(delivered, INTERVAL -1 day)), ' 07:00:00')
ELSE CONCAT(DATE(delivered), ' 07:00:00')
END as startTime,
CASE WHEN HOUR(delivered) < 7
THEN CONCAT(DATE(delivered), ' 07:00:00')
ELSE CONCAT(DATE(DATE_ADD(delivered, INTERVAL 1 day)), ' 07:00:00')
END as endTime,
COUNT(*) total,
sum(case when isbag = '0' THEN 1 ELSE 0 END) CloakCount,
sum(case when isbag = '1' THEN 1 ELSE 0 END) BagCount
FROM Wardrobe_CloakTable GROUP BY startTime, endTime;