【发布时间】:2017-09-06 17:17:01
【问题描述】:
我必须在 2 个列表之间为每个步骤选择最佳百分比。但是,如示例所示,我可能不会在两个列表中包含所有步骤。
鉴于我在表中有以下值列表:
LIST_NUMBER MAX_POINTS PERCENTAGE
------------------------------------------
1 79 20%
1 150 25%
1 9999 30%
LIST_NUMBER MAX_POINTS PERCENTAGE
------------------------------------------
2 79 20%
2 9999 35%
如果我得到MAX(PERCENTAGE)GROUP BY MAX_POINTS,我会得到以下结果:
SELECT MAX_POINTS,
MAX (PERCENTAGE)
FROM MY_TABLE
GROUP MAX_POINTS
ORDER BY MAX_POINTS ;
MAX_POINTS MAX(PERCENTAGE)
----------------------------
79 20
150 25
99999 35
这是不对的,因为第二个列表说我只要得到 80+ 分就应该有 35%。 我期望的结果是这样的:
MAX_POINTS MAX(PERCENTAGE)
----------------------------
79 20
150 35
99999 35
我可以列出我可以拥有的所有MAX_POINTS(包括两个列表)和每个步骤的百分比(MAX_POINTS),但我会在MAX_POINTS = 15 的LIST_NUMBER = 2 得到NULL
LIST_NUMBER MAX_POINTS MAX(PERCENTAGE)
------------------------------------------------
1 79 20%
1 150 25%
1 99999 30%
2 79 20%
2 150 NULL <- This value should be the next non-null value of the LIST_NUMBER = 2 = 35%
2 99999 35%
【问题讨论】: