我如何设计一个 SQL 数据结构,当项目不断从一个队列移动到另一个队列时,我可以查询队列的大小(多少条记录)随着时间的推移(以便我可以绘制它)。
表:
Queue
--------------------------------------
item_id int
status enum('new','ready','old')
Log
--------------------------------------
item_id int
old_status enum('new','ready','old') --perhaps record new_status instead?--
change_date timestamp
每次项目更改状态(即新队列)时,我都会将其记录在日志中。
如何编写一个查询,告诉我“在 10:00 有 X 记录在‘新’中,Y 在‘就绪’中,等等”。并且整天都这样做,这样我就可以绘制它。
我不想每 5 分钟制作一个表格,因为我不知道我的时间粒度。
我非常愿意更改数据库结构,并添加新字段来完成这项工作。