我获得了一些与特定工作的 SLA(服务级别协议(protocol))相关的特定数据集,如下所示。 这里 x 代表小时数。 一旦任务在给定的时间范围内完成,具体级别如下。
Level 1 --- > x>=500 Level 2 --- > 500> x >=400 Level 3 --- > 400> x >=300 Level 4 --- > 300> x >=200 Level 5 --- > 100 > x >=200
我需要获得特定任务的级别,例如:- 如果 x 为 252,则该任务为级别 4。
我已经设计了以下格式的表格,但我不会提供获取任何 x 值的级别的能力。请建议我最好/准确的 mysql 表设计。
最佳答案
您的表设计隐含地假定了一个顺序。在关系数据库中,行没有顺序。没有任何。
所以更好的设计是这些列:
serviceLevel
minimumHours
maximumHours
然后检索服务级别变得非常容易:
SELECT serviceLevel
FROM <table>
WHERE <hours> BETWEEN minimumHours AND maximumHours;
关于mysql - 一般mysql表设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45959167/