![](/img/trans.png)
[英]How to select unique values from a single column, with a default scope, returning multiple columns
[英]How do I select unique values in a single column with multiple column selected?
该查询实际上很好并且正在运行,但它与 A.CONTRACT_NUMBER 列不同 select。
这是代码:
SELECT DISTINCT A.CONTRACT_NUMBER
, A.DTIME_SIGNATURE
, A.ID_CUID
, A.CLIENT_SEGMENT
, A.CLIENT_GENDER
, A.CLIENT_AGE
, A.CNT_SIGNED
, A.AMT_SIGNED
, A.INSTALMENTS
, A.PRODUCT
, B.AMT_INTEREST_INCOME
FROM DM_SALES.V_SALES_DM_DATA A
LEFT JOIN DM_FIN.FIN_LTV_DATAMART B ON A.CONTRACT_NUMBER = B.CONTRACT_NUMBER
WHERE 1=1
AND A.CONTRACT_STATE <> 'Cancelled'
AND a.cnt_signed=1
AND A.LOAN_TYPE = 'Consumer Loan'
AND (TRUNC(A.DTIME_SIGNATURE) BETWEEN DATE'2022-08-01' AND DATE '2022-08-31')
GROUP BY A.CONTRACT_NUMBER
ORDER BY A.DTIME_SIGNATURE
;
运行正常,但查了下数据,A.CONTRACT_NUMBER列还是有重复的值。 A.CONTRACT_NUMBER 就像主键列,我想为该列添加 select 个唯一值
感谢:D
对于每个合同,您需要数据集市表中的平均利息收入,因此按合同聚合数据集市数据并将此结果加入您的销售额 data.table。
SELECT
sd.*,
dm.avg_interest_income
FROM dm_sales.v_sales_dm_data sd
LEFT JOIN
(
SELECT contract_number, AVG(amt_interest_income) AS avg_interest_income
FROM dm_fin.fin_ltv_datamart
GROUP BY contract_number
) dm ON dm.contract_number = sd.contract_number
WHERE sd.contract_state <> 'Cancelled'
AND sd.cnt_signed = 1
AND sd.loan_type = 'Consumer Loan'
AND sd.dtime_signature >= DATE '2022-08-01'
AND sd.dtime_signature < DATE '2022-09-01'
ORDER BY sd.dtime_signature;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.