【发布时间】:2016-12-05 23:33:28
【问题描述】:
我一直在使用数据库进行访问,但我第一次必须使用 MS SQL Server 2012,因此,我必须编写查询,因为我发现查询构建器不像访问那样用户友好。
我被困的问题不是一个非常具有挑战性的问题。我有 2 个表如下:
dbo.WF_PM_ACCT_DET_DB with columns to use Account, Postal_Code, Client_Birth_Datedbo.WF_PM_SUM_DB with columns to use Account, Total_Avg_AuA
我想要做的是查询按邮政编码分组的结果,计算相应邮政编码中的客户数量,还按年龄分组,其中 AuA > 0
所以首先我需要按年龄将客户分为 3 组(55)。然后计算该特定年龄组的特定邮政编码中有多少客户。还要从第二个表中仅选择 sum(AuA)>0 的客户端。输出看起来像这样
Postal code CountofClient Age_group
1m1 2m2 50 <35
1m1 2m2 20 35-50
and so on...
到目前为止,这是我所拥有的:
SELECT Postal_Code, COUNT(Account) AS Count_Account, Age,
AVG(YEAR(GETDATE()) - YEAR(client_birth_date)) AS 'Age'
CASE WHEN AGE <=35 THEN 'AGEGROUPA'
WHEN AGE >35 AND AGE <55 THEN 'AGEGROUPB'
WHEN AGE >=55 THEN 'AGEGROUPC'
end as 'clientageseg'
FROM dbo.WF_PM_ACCT_DET_DB
GROUP BY Postal_Code, Client_Birth_Date, Age
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: sql sql-server database left-join