2

您好我一直在尝试根据一些数据库数据生成报告。我需要计算每天(已完成),所以在这种情况下,假设计算的日期是:(2001-01-02),当前日期是 2001-01-03。所以基本上是当前日期的前一天。

  • 当天 locker_orders 占用的最大计数 + 发生时间(每个地方的储物柜最大负载峰值)
  • 当天 locker_orders 占用的最小计数 + 发生时间(每个地方的储物柜的峰值最小负载)
  • 当天 locker_orders 占用的 AVG 计数(当天的平均负载基于 min max 和每个位置的储物柜数量)
  • 组 PER place_id
  • 当天每分钟组 PER
  • 当天店内所有储物柜的数量(可能会随时间变化)
  • 在没有取货日期的情况下,储物柜仍被占用 - 它可能会移至另一天

我能够执行一个简单的查询,按地点和每分钟创建储物柜订单,但目前我在将其放在当天范围内时遇到问题

这是时间线的表示(手工制作;))

时间线

给定一个包含数据的模式

数据库数据

  • 储物柜
------------------------------------
| id |        created_at           |
------------------------------------
|  1 | 2001-01-01 00:00 (DATETIME) |
------------------------------------
|  2 | 2001-01-01 00:00 (DATETIME) |
------------------------------------
|  3 | 2001-01-01 00:00 (DATETIME) |
------------------------------------
|  4 | 2001-01-01 00:00 (DATETIME) |
------------------------------------
|  5 | 2001-01-01 00:00 (DATETIME) |
------------------------------------
  • LOCKER_ORDERS
------------------------------------------------------------------------------------
| id |          created_at         |        pickup_date     | place_id |  locker_id |
------------------------------------------------------------------------------------
|  1 | 2001-01-02 10:00 (DATETIME) |  2001-01-02 13:25 (DATETIME) |  1  |     2     |
------------------------------------------------------------------------------------
|  2 | 2001-01-02 07:45 (DATETIME) |  2001-01-02 11:50 (DATETIME) |  1  |     1     |
------------------------------------------------------------------------------------
|  3 | 2001-01-02 19:30 (DATETIME) |            NULL              |  1  |     4     |
------------------------------------------------------------------------------------
|  4 | 2001-01-01 14:40 (DATETIME) |  2001-01-01 21:15 (DATETIME) |  1  |     5     |
-------------------------------------------------------------------------------------
|  5 | 2001-01-02 12:25 (DATETIME) |            NULL              |  1  |     3     |
-------------------------------------------------------------------------------------
|  6 | 2001-01-02 13:30 (DATETIME) |  2001-01-02 18:40 (DATETIME) |  1  |     2     |
-------------------------------------------------------------------------------------
|  7 | 2001-01-02 12:45 (DATETIME) |  2001-01-02 20:50 (DATETIME) |  1  |     1     |
-------------------------------------------------------------------------------------
|  8 | 2001-01-02 07:40 (DATETIME) |  2001-01-02 18:15 (DATETIME) |  1  |     5     |
-------------------------------------------------------------------------------------

OUTPUT DATA - 所需的输出

# | Date (day) | place_id | min | max | avg | NO of all lockers in that day in given place |
---------------------------------------------------------------------------------------------
# | 2001-01-02 |   1      |  0  |  4  |  2  |      8      |
4

0 回答 0