我正在运行sql。
SELECT value FROM ppr_price_factor WHERE product_factor_id=3;
返回像这样的值
17
25
35
45
我需要将结果显示为如下所示。
value value Range
17 0-17
25 18-25
35 26-35
45 36-45
我可以使用sql执行此操作吗?
答案 0 :(得分:1)
也许有帮助:
SELECT value,
TO_CHAR(1 + LAG(value, 1, -1) OVER (ORDER by value)) || '-' || TO_CHAR(value) AS value_range
FROM your_table
答案 1 :(得分:0)
我会针对各自的问题使用case语句。
您可以使用以下sql作为参考
SELECT value
,CASE
WHEN value >= 0
AND value <= 17
THEN '0-17'
WHEN value >= 18
AND value <= 25
THEN '18-25'
WHEN value >= 26
AND value <= 35
THEN '26-35'
WHEN value >= 36
AND value <= 45
THEN '36-45'
ELSE '46-'
END AS valueRange
FROM table1
答案 2 :(得分:0)
使用此:
SELECT value,
TO_CHAR(1 + LAG(value, 1, -1) OVER (ORDER by value)) || '-' || TO_CHAR(value) AS value_range
FROM your_table