QUESTION 18
Examine the structure of the PROMOTIONS table:
name Null TypePROMO_ID NOT NULL NUMBER(6)
PROMO_NAME NOT NULL VARCHAR2(30)
PROMO_CATEGORY NOT NULL VARCHAR2(30)
PROMO_COST NOT NULL NUMBER(10,2)
The management wants to see a report of unique promotion costs in each promotion category.
Which query would achieve the required result?
A. SELECT DISTINCT promo_cost, promo_category FROM promotions;
B. SELECT promo_category, DISTINCT promo_cost FROM promotions;
C. SELECT DISTINCT promo_cost, DISTINCT promo_category FROM promotions;
D. SELECT DISTINCT promo_category, promo_cost FROM promotions ORDER BY 1;
答案:D
解析:
--A选项能够得出结果,但不合题意,这个是每个促销价格都有什么种类
SQL> SELECT DISTINCT promo_cost, promo_category FROM promotions;
PROMO_COST PROMO_CATEGORY
---------- ------------------------------------------------------------
30000 promocategory2
20000 promocategory1
40000 promocategory3
30000 promocategory3
30000 promocategory5
--B选项报错
SQL> SELECT promo_category, DISTINCT promo_cost FROM promotions;
SELECT promo_category, DISTINCT promo_cost FROM promotions
*
ERROR at line 1:
ORA-00936: missing expression
--C选项报错
SQL> SELECT DISTINCT promo_cost, DISTINCT promo_category FROM promotions;
SELECT DISTINCT promo_cost, DISTINCT promo_category FROM promotions
*
ERROR at line 1:
ORA-00936: missing expression
--D选项得出正确的答案。
SQL> SELECT DISTINCT promo_category, promo_cost FROM promotions ORDER BY 1;
PROMO_CATEGORY PROMO_COST
------------------------------------------------------------ ----------
promocategory1 20000
promocategory2 30000
promocategory3 30000
promocategory3 40000
promocategory5 30000