62、(13-17)choose the best answer:
You need to list the employees in DEPARTMENT_ID 30 in a single row, ordered by HIRE_DATE.
Examine the sample output:
Which query will provide the required output?
A) SELECT LISTAGG(last_name, '; ') "Emp_list", MIN(hire_date) "Earliest"
FROM employees
WHERE department_id = 30
WITHIN GROUP ORDER BY hire_date;
B) SELECT LISTAGG(last_name, '; ') "EMP_LIST", MIN(hire_date) "Earliest"
FROM employees
WHERE department_id = 30
ORDER BY hire_date;
C) SELECT LISTAGG(last_name, '; ')
WITHIN GROUP (ORDER BY hire_date) "Emp_list", MIN(hire_date) "Earliest"
FROM employees
WHERE department_id = 30;
D) SELECT LISTAGG(last_name)
WITHIN GROUP ORDER BY (hire_date) "Emp_list", MIN(hire_date) "Earliest"
FROM employees
WHERE department_id = 30;
Answer:C
(解析:工作中会用到把查出来的列的值去重合并成一行显示,可以使用 listagg() WITHIN GROUP () 将
多行合并成一行:
)