Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Teradata中的多列摘要_Sql_Count_Teradata_Summary_Rollup - Fatal编程技术网

Sql Teradata中的多列摘要

Sql Teradata中的多列摘要,sql,count,teradata,summary,rollup,Sql,Count,Teradata,Summary,Rollup,第一个问题,希望你能帮忙 我有一个75+列的表,第一个是ID,其余的只有1个或空标志 例如: UNIQUE_IDENT, SERVICE_FLAG, P1_PREFA, P2_PREFB, etc etc >> P75_PREF75 987651651, 1, 1, 1, 1 我想对每一列求和,而不必为所有75列编写sum语句,我在SAS中看到它是作为Proc摘要完成的 此实例中所有用户的服务\u标志=1

第一个问题,希望你能帮忙

我有一个75+列的表,第一个是ID,其余的只有1个或空标志

例如:

UNIQUE_IDENT, SERVICE_FLAG, P1_PREFA, P2_PREFB, etc etc >> P75_PREF75
987651651,    1,            1,        1,                   1
我想对每一列求和,而不必为所有75列编写sum语句,我在SAS中看到它是作为Proc摘要完成的

此实例中所有用户的服务\u标志=1


一定有一个简单的方法

您可以使用条件聚合来完成此操作,但必须列出每一列:

select unique_ident,
       min(service_flag) as service_flag,
       min(p1_prefa) as p1_prefa,
       . . .
from TranzSeg_Permission
group by unique_ident;
我使用min是因为您说所有带有ident的行的service flag=1


您可以通过获取列名并使用SQL语句或电子表格来生成代码。

谢谢,非常有用。。。
select unique_ident,
       min(service_flag) as service_flag,
       min(p1_prefa) as p1_prefa,
       . . .
from TranzSeg_Permission
group by unique_ident;