由于数据库设计不当,我很难检索数据库中的序列号范围。
我的数据如下:-
- XY100001 - XY101000 | User_A ---> 1000 个数据
- XY101001 - XY102000 | User_B ---> 1000 个数据
- XY102001 - XY102500 | User_C ---> 500 个数据
- XY102501 - XY103000 | User_A ---> 1000 个数据
并且数据将存储在数据库中,如下所示:-
| 1 | 用户A | XY100001 | 日期时间 | | 2 | 用户A | XY100002 | 日期时间 | .. | 1000 | 用户A | XY101000 | 日期时间 | | 1001 | 用户_B | XY101001 | 日期时间 | | 1002 | 用户_B | XY101002 | 日期时间 | .. | 2000 | 用户_B | XY102000 | 日期时间 | | 2001 | 用户_C | XY102001 | 日期时间 | | 2002 | 用户_C | XY102002 | 日期时间 | .. | 2500 | 用户_C | XY102500 | 日期时间 | | 2501 | 用户A | XY102501 | 日期时间 | | 2502 | 用户A | XY102502 | 日期时间 | .. | 3000 | 用户A | XY103000 | 日期时间 |
我尝试选择最小和最大序列号,在该组之后按 DateTime 但仍然无法获得正确的范围,因为每个用户将有多个范围。
如果我使用 min 和 max 的示例输出如下:-
| 用户A | XY100001 | XY103000 | | 用户_B | XY101001 | XY102000 | | 用户_C | XY102001 | XY102500 |
您可以看到,User_A 的输出错误。User_A 应该有 2 个范围 (XY100001-XY101000) 和 (XY102501-XY103000)
问题是,我怎样才能找回所有的范围?
有任何想法吗 ?