【发布时间】:2015-11-24 11:29:59
【问题描述】:
返回汽车总购买量最大的邮政编码。由于可能有两个或多个邮政编码并列,因此请确保返回数字最低的邮政编码
CREATE OR replace FUNCTION Zip_code_sales_winner
RETURN NUMBER
IS
total NUMBER;
BEGIN
SELECT max(y.[total purchases]) IN total
FROM (
SELECT count(c.zip) AS 'Total Purchases'
FROM customers c
inner join sales s
ON c.cust_id=s.cust_id
inner join vehicles v
ON s.vin=v.vin
GROUP BY c.zip,
v.make) y;
RETURN total;
END
问题是 max 可以返回多个值,而我只想返回 1 个具有最低数字邮政编码的值。我怎样才能做到这一点?
【问题讨论】:
-
SELECT * FROM (你的子查询) WHERE ROWNUM=1