在第二天早上7点到早上7点之间选择

时间:2016-08-25 12:52:29

标签: mysql

我想计算第二天早上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点之前计算所有这些数据,直到前一天。

1 个答案:

答案 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;