34,837
社区成员




数据:
id | userid | name | time1 | time2 | 用时(月) |
1 | 1 | name1 | 2022-1-1 | 2022-3-5 | 3 |
2 | 2 | name2 | 2022-12-19 | 2023-1-1 | 2 |
3 | 1 | name1 | 2022-12-1 | 2022-12-31 | 1 |
4 | 3 | name3 | 2022-3-20 | 2022-8-1 | 6 |
5 | 4 | name4 | 2022-2-1 | 2022-9-25 | 8 |
6 | 5 | name5 | 2022-5-1 | 2022-12-29 | 8 |
7 | 5 | name5 | 2022-12-31 | 2023-4-19 | 5 |
8 | 1 | name1 | 2023-1-1 | 2023-2-8 | 2 |
描述:
根据下拉框选项筛选出符合条件的记录,查询条件为年度范围内员工的总用时月份数。下拉框中1-4月代表总用时1到时4个月,用于查询用户time2-time1的总月份数条件(*同一用户有多条记录时,应合计总月数后再进行查询)。
比如选的是2022年1-4月,符合条件的记录有:
id | userid | name | time1 | time2 |
1 | 1 | name1 | 2022-1-1 | 2022-3-5 |
2 | 2 | name2 | 2022-12-19 | 2023-1-1 |
3 | 1 | name1 | 2022-12-1 | 2022-12-31 |
其中userid=1的总用时是累计的,id=1用时3个月,id=3用时1个月,总用时4个月。
查询出的数据中希望能有该用户的总用时,比如查询2022年1-4月时,能有以下的数据
userid | name | total |
1 | name1 | 4 |
2 | name2 | 2 |
不知这样的需求如何通过sql语句查询出来。各位大神能帮忙下吗?感谢