0
对不起,如果这是一个新手问题。是否有可能使用不同的条件在单个查询中使用Count的列表。 基本上我试图得到一个按年龄显示申请人数量的清单。 例如 20 - 29 30 - 39 等TSQL - 来自单个查询中的DOB的多个计数
非常感谢, 安迪
对不起,如果这是一个新手问题。是否有可能使用不同的条件在单个查询中使用Count的列表。 基本上我试图得到一个按年龄显示申请人数量的清单。 例如 20 - 29 30 - 39 等TSQL - 来自单个查询中的DOB的多个计数
非常感谢, 安迪
;WITH AgeGroups AS (
SELECT
CASE
WHEN FLOOR(DATEDIFF(DAY, DOB, GETDATE())/365.25 BETWEEN 20 AND 29
THEN '20 - 29'
WHEN FLOOR(DATEDIFF(DAY, DOB, GETDATE())/365.25 BETWEEN 30 AND 39
THEN '30 - 39'
END AS AgeGroup
FROM YourTable
)
SELECT
AgeGroup,
COUNT(*) AS AgeGroupCount
FROM AgeGroups
GROUP BY AgeGroup
也许像这样将工作
SELECT SUM(case where DATEDIFF(YEAR, [dob], GETDATE()) between 20 and 29 then 1 else 0) AS 'Age_20_29',
SUM(case where DATEDIFF(YEAR, [dob], GETDATE()) between 30 and 39 then 1 else 0) AS 'Age_30_39',
[etc.]
FROM myTbl
你真棒!感谢您的快速回复, Andy – 2012-04-05 22:28:01
@andycicchillo希望它有帮助...如果这个答案或其他答案解决了您的问题,请[将其标记为已接受的答案](http://meta.stackexchange.com/问题/ 5234 /如何-不接受-的回答工作)。 – 2012-04-05 22:33:25