14. Using the CUSTOMERS table, you need to generate a report that shows 50% of each credit
amount in each income level. The report should NOT show any repeated credit amounts in each income level.
Which query would give the required result?
(题意:使用客户表,需要做一个报表,列出每个收入等级的信用额度的50%,并去除重复值。下面的哪个查询语句可以得到这个结果?)
A.
SELECT cust_income_level, DISTINCT cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
B.
SELECT DISTINCT cust_income_level, DISTINCT cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
C.
SELECT DISTINCT cust_income_level ' ' cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
D.
SELECT cust_income_level ' ' cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
语句中的''应该换成连接符||
amount in each income level. The report should NOT show any repeated credit amounts in each income level.
Which query would give the required result?
(题意:使用客户表,需要做一个报表,列出每个收入等级的信用额度的50%,并去除重复值。下面的哪个查询语句可以得到这个结果?)
A.
SELECT cust_income_level, DISTINCT cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
B.
SELECT DISTINCT cust_income_level, DISTINCT cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
C.
SELECT DISTINCT cust_income_level ' ' cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
D.
SELECT cust_income_level ' ' cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
Answer: C
题目解析:
这道题是关于distinct的用法:
1.distinct只能放在第一个字段的前面,如Select distinct x,y from t,
2.当distinct后有多个字段时,表示所有字段的值都相同才视为重复值,如Select distinct x,y from t,
只有当x,y的值都相同时,才视为重复值去除。
所以选项AB是语法错误,选项D没有去除重复值,不合题意。
其实C也有点错误,正确的写法是:
SELECT DISTINCT cust_income_level || cust_credit_limit * 0.50
AS "50% Credit Limit"
FROM customers;
语句中的''应该换成连接符||