SQL错误:正在执行操作
我需要编写一个sql脚本,它必须显示所有man客户机,其最大收入是最低收入的两倍SQL错误:正在执行操作,sql,postgresql,Sql,Postgresql,我需要编写一个sql脚本,它必须显示所有man客户机,其最大收入是最低收入的两倍 SELECT DISTINCT customer_rk, max(monthly_income_amt), min(monthly_income_amt), max(monthly_income_amt) / min(monthly_income_amt) AS income_ratio FROM asql.individual_customer WHERE middle_nm LIKE '%В
SELECT
DISTINCT
customer_rk,
max(monthly_income_amt),
min(monthly_income_amt),
max(monthly_income_amt) / min(monthly_income_amt) AS income_ratio
FROM asql.individual_customer
WHERE middle_nm LIKE '%ВИЧ'
GROUP BY customer_rk
HAVING income_ratio > 2;
middle_nm,如“%bбЧ”
-用于按中间名对男性进行排序(俄语要求)
以下是表格的外观:
A收到此类错误:
错误:“收入比率”列不存在(第6行)
我做错了什么?而不是
收入比率
写在have子句中为max(monthly\u income\u amt)/min(monthly\u income\u amt)>2
另外,当您分组时,
distinct
没有意义。而不是收入比率
将have子句写为max(monthly\u income\u amt)/min(monthly\u income\u amt)>2
另外,
distinct
在分组时没有意义。需要修改having子句,如下所示
SELECT
DISTINCT
customer_rk,
max(monthly_income_amt),
min(monthly_income_amt),
max(monthly_income_amt) / min(monthly_income_amt) AS income_ratio
FROM asql.individual_customer
WHERE middle_nm LIKE '%ВИЧ'
GROUP BY customer_rk
HAVING (max(monthly_income_amt) / min(monthly_income_amt)) > 2
您的having条款需要修改如下
SELECT
DISTINCT
customer_rk,
max(monthly_income_amt),
min(monthly_income_amt),
max(monthly_income_amt) / min(monthly_income_amt) AS income_ratio
FROM asql.individual_customer
WHERE middle_nm LIKE '%ВИЧ'
GROUP BY customer_rk
HAVING (max(monthly_income_amt) / min(monthly_income_amt)) > 2
将查询包装到派生表中。然后,您可以在WHERE子句中输入收入比率:
select * from
(
SELECT
customer_rk,
max(monthly_income_amt),
min(monthly_income_amt),
max(monthly_income_amt) / min(monthly_income_amt) AS income_ratio
FROM asql.individual_customer
WHERE middle_nm LIKE '%ВИЧ'
GROUP BY customer_rk
) dt
where income__ratio > 2;
将查询包装到派生表中。然后,您可以在WHERE子句中输入收入比率:
select * from
(
SELECT
customer_rk,
max(monthly_income_amt),
min(monthly_income_amt),
max(monthly_income_amt) / min(monthly_income_amt) AS income_ratio
FROM asql.individual_customer
WHERE middle_nm LIKE '%ВИЧ'
GROUP BY customer_rk
) dt
where income__ratio > 2;
为什么选择DISTINCT?GROUP BY不返回重复项。为什么选择DISTINCT?GROUP BY不返回重复项。