请求编写Teradata汇总查询以统计指定规则的类型总数
Teradata 查询语句实现指定统计规则
实现思路
由于单条记录可能同时满足多个统计规则(例如样本中第一条记录既符合A1又符合A2的条件),因此需要分别统计每个类别的符合条件行数,再合并为多行结果输出。
完整查询语句
SELECT 'A1' AS Type, SUM(CASE WHEN stst_cd = 12 THEN 1 ELSE 0 END) AS Total FROM your_table_name UNION ALL SELECT 'A2' AS Type, SUM(CASE WHEN stl_dt < CURRENT_DATE THEN 1 ELSE 0 END) AS Total FROM your_table_name UNION ALL SELECT 'A3' AS Type, SUM(CASE WHEN stst_cd = 14 THEN 1 ELSE 0 END) AS Total FROM your_table_name;
语句说明
- A1统计:通过
CASE表达式标记stst_cd等于12的记录,用SUM累加得到总数 - A2统计:判断
stl_dt早于当前日期的记录,累加符合条件的数量 - A3统计:统计
stst_cd等于14的记录总数 - UNION ALL:将三个独立的统计结果合并为多行,匹配预期输出的格式
注意:请将语句中的
your_table_name替换为实际使用的表名。
内容的提问来源于stack exchange,提问作者Ammu Priya
相关产品推荐
相关产品推荐

