我有下表:
| 评分| Score |
| --| ------------ |
| 一百一十一| 111 |
| 一百一十五| 115 |
| 一百二十| 120 |
| 一百二十五| 125 |
| 一百三十五| 135 |
我需要在新列中对它们进行排序,如范围:
- 低于113
- 从113到120
- 从121到130
- 从131
输出结果应该如下所示
| 评分|层级| Tier |
| --|--| ------------ |
| 一百一十一|一个| 1 |
| 一百一十五|二个| 2 |
| 一百二十|二个| 2 |
| 一百二十五|三个| 3 |
| 一百三十五|四个| 4 |
1条答案
按热度按时间eaf3rand1#
您可以使用
CASE
表达式将分数应用于特定范围。如果你真的想这样做,你可以通过这些范围(或基于这些范围的优先级)ORDER
:字符串
其中,对于样本数据:
型
输出:
| 评分|层级| TIER |
| --|--| ------------ |
| 一百一十一|一个| 1 |
| 一百一十五|二个| 2 |
| 一百二十|二个| 2 |
| 一百二十五|三个| 3 |
| 一百三十五|四个| 4 |
但是,您可以只使用
ORDER BY score
而不是ORDER BY tier
。fiddle