【发布时间】:2013-12-26 03:12:49
【问题描述】:
我刚刚想出了一个想法,用一段代码来显示每列的所有不同值,并计算每列有多少条记录。我希望代码遍历所有列。
这是我到目前为止所拥有的...我是 SQL 新手,所以请耐心等待:)
硬编码:
select [Sales Manager], count(*)
from [BT].[dbo].[test]
group by [Sales Manager]
order by 2 desc
尝试动态 SQL:
Declare @sql varchar(max),
@column as varchar(255)
set @column = '[Sales Manager]'
set @sql = 'select ' + @column + ',count(*) from [BT].[dbo].[test] group by ' + @column + 'order by 2 desc'
exec (@sql)
这两个都可以正常工作。我怎样才能让它遍历所有列?我不介意我是否必须对列名进行硬编码,并且它通过在每个列中为@column 替换来工作。
这有意义吗?
谢谢大家!
【问题讨论】: