【发布时间】:2017-07-17 21:41:38
【问题描述】:
我正在分析一些表格的数据质量,包括最小值、最大值、平均值、标准偏差等量化指标。
如何在不知道表列名称的情况下对所有表列选择不同的统计操作(最小值、最大值、标准偏差...)?
比如:
选择 min(col1), max(col1), stdev(col1), min(col2)... , min(colN) 从表1
但是对列名进行动态引用,因为我必须在许多具有不同列名的表上运行它,而且我不想每次都更改代码。
我正在使用 SQL Management Studio。
非常感谢你
【问题讨论】:
-
您可以使用动态 SQL 来构造查询。但一般情况下,您需要列名来编写表达式。
-
您可以在 sys 表中使用动态 sql 和游标,但这可能会变得非常混乱并且需要很长时间才能运行
-
即使您确实使用动态 SQL 进行了此操作,由于每个表中的列数不同,这将返回一个非常难以使用的结果集。你到底想完成什么?可能有一种更符合 SQL 的方式来实现它。
-
更不用说你会在这里跳过一些严重的障碍。您不能对许多不同的数据类型执行 STDEV 之类的操作。
-
感谢您的意见!我是动态 SQL 的新手。同样,我要完成的是对许多表中许多列的值的标准分析,我不写每个列名
标签: sql sql-server