0
我一直试图解决这个问题一个小时左右,只是无法弄清楚。请有人指点我正确的方向吗?我正在使用来自Oracle SQL Developer的OE架构的数据。计算Oracle SQL Developer的折扣百分比
我需要显示产品的产品类别名称,该产品类别名称与list_price的折扣最大。
这是我的代码:
SELECT ct.category_name, ROUND((pi.list_price pi.min_price)*100/pi.list_Price) AS Percent_Discount
FROM oe.product_information pi JOIN oe.categories_tab ct ON pi.category_id = ct.category_id
GROUP BY ct.category_name, ROUND((pi.list_price-pi.min_price)*100/pi.list_Price)
ORDER BY ROUND((pi.list_price-pi.min_price)*100/pi.list_Price) desc;
Here is an image of my results of the query
结果竟再往150ish左右一路其中包括每一件单品。
我的问题是:我如何得到它,所以我的百分比数字是两位小数,而不是它被舍入到一个整数?我知道我使用了圆括号,但我只做了它,因为没有它,数字大约是15位数字。 另外,您是否认为我的代码正确回答了问题?我觉得我只应该以最大的折扣展示前10或20个类别名称。无论如何,我可以做到这一点,而不是列出所有这些?
非常感谢你!为了澄清,最大声明用于回答问题中最大的折扣部分?而且我不是很了解你怎么只在ORDER BY部分中使用“2”,你能否为我解释一个? –
@KurtLee。 。 。 max()是回答“最大折扣”。 “2”实际上只是一个简写,因为我不想输入“Percent_Discount”。 –