【发布时间】:2020-07-29 09:15:32
【问题描述】:
Mysql 5.7.30:我有两个表:
项目:projectID、timeNeeded
注册:registrationID、projectID、startDateTime
我想要实现的目标: 对于当前月份(基于 startDateTime),我想通过选择当月每一天的第一条和最后一条记录来了解“timeNeeded”。 如果一天只有 1 条记录,还是应该算两次。
例如,如果一天有 4 个注册,我只想包括这 4 个中的第一个和最后一个。
我有点不确定如何从这里开始,我想有多种方法可以实现这一点。速度不重要,只要比我的第一个想法好;使用多个查询和 PHP 来处理它。
样本数据和想要的结果:
Project table:
project1 50
project2 20
project3 30
Registation table: (hour:minute hidden)
reg1 project1 2020-07-01
reg2 project1 2020-07-01
reg3 project3 2020-07-02
reg4 project3 2020-07-02
reg5 project2 2020-07-02
reg6 project2 2020-07-02
reg7 project3 2020-07-03
reg8 project1 2020-07-04
reg9 project3 2020-07-05
reg10 project2 2020-07-05
Result (projects.timeNeeded for first and last of each day):
reg1 50
reg2 50
reg3 30
reg6 20
reg7 30
reg7 30
reg8 50
reg8 50
reg9 30
reg10 20
【问题讨论】:
-
请提供样本数据和期望的结果。
-
@GordonLinoff 我已经添加了示例。
-
你的MySql是什么版本的?
-
@forpas Mysql 版本 5.7.30
-
timeNeededfor'reg6'在结果中应该是 20。