0
我有一个简单的数据在我的PostgreSQL数据库9.5类似如下:PostgreSQL:如何根据临界值分割范围?
id c_value start_r end_r m_value
1 171 61 201 19.3
2 89 59 119 22.1
3 47 137 227 18.9
3 47 227 287 0.0
3 47 287 347 27.1
3 47 347 47 6.5
4 65 120 150 14.1
柱解释:Id (integer)
而不是唯一的。 C_value (integer)
是关键的价值。 start_r (integer)
和end_r (integer)
是范围的开始和结束值,而m_value (numeric)
是平均值。
对于每一行,我只需要根据c_value
修改start_r
和end_r
。也就是说,如果遇到临界值,我需要将范围分割成片,否则输出将相同。预期结果如下:
id c_value start_r end_r m_value
1 171 61 171 19.3
1 171 171 201 19.3
2 89 59 89 22.1
2 89 89 119 22.1
3 47 137 227 18.9
3 47 227 287 0.0
3 47 287 347 27.1
3 47 347 47 6.5
4 65 120 150 14.1
有人可以建议我如何根据临界值来分割范围?
提示:LEAST(),GREATEST(),UNION ALL – wildplasser