DECLARE
v_in auto_service.vin%TYPE;
v_first auto_service.service_date%TYPE;
v_last auto_service.service_date%TYPE;
v_max auto_service.price%TYPE;
v_total auto_service.price%TYPE;
v_n NUMBER;
CURSOR c_auto
IS
SELECT vin,
COUNT(*) AS no,
MIN(SERVICE_DATE) AS FIRSTprice,
MAX(SERVICE_DATE) AS lastprice,
max(price) as maxprice,
sum(price) as totalprice
FROM auto_service
GROUP BY vin;
BEGIN
OPEN c_auto;
FETCH c_auto INTO v_in,v_n,v_first,v_last,v_total,v_max;
IF c_auto%notfound THEN
dbms_output.put_line('No output');
ELSE
dbms_output.put_line('vin No firstprice lastprice maximumprice totalprice');
LOOP
dbms_output.put_line(rpad(v_in,10) || rpad(v_n,10) || rpad(v_first,10) || rpad(v_last,12) || rpad(v_max,15) || rpad(v_total,5));
FETCH c_auto INTO v_in,v_n,v_first,v_last,v_max,v_total;
EXIT
WHEN c_auto%notfound;
END LOOP;
END IF;
CLOSE c_auto;
END;
의 가격을 얻을 수 있습니다 서비스, 최대 가격 및 최대 가격의 서비스 날짜 및 모든 서비스의 가격
첫 번째 서비스 날짜와 모든 VIN의 마지막 날짜는 제외하고 다른 모든 것들을 얻었습니다. 이 이름은 열이 포함 실제로 무엇을하는지에 더 관련이 있기 때문에 내가, 당신이 FIRST_DATE 및 LAST_DATE하는 FIRSTprice 및 lastprice라는 이름의 열을 이름어떻게 에게 마지막에 대한 서비스의 수, 첫 번째 서비스 날짜와 첫 번째 서비스의 가격, 마지막 서비스 날짜와 가격을 찾으려면 첫 번째 서비스 날짜와 마지막 서비스 날짜