xmo*_*era 4 sql sql-server stored-procedures
我有一个包含三列的表:myColumn,myColumn2和myColumn3.这三列可以具有不同的值,但它们都是相同的类型.
我需要进行连接,以便合并三列中的所有项目然后分组
如果我有一个列,就会这样做:
select distinct (myColumn), COUNT(myColumn) as 'TotalF'
from FormularioCorto
where idEvento = @idEvento and myColumn <> ''
group by myColumn
Run Code Online (Sandbox Code Playgroud)
问题是:如何执行TSQL语句,允许我加入三列然后分组?
编辑:这里是示例数据我有一个表有3列相同类型的表
columna columnb columnc
a a b
b a b
c c d
Run Code Online (Sandbox Code Playgroud)
我需要运行一个将要合并3列和分组的tsql,以获得结果
newcolumn count
a 3
b 3
c 2
d 1
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
提前致谢
没有一些样本数据和期望的输出很难说,但猜测将是这样的:
SELECT MyCol as MyColumn, Count(*) as 'TotalF'
FROM
(
SELECT myColumn MyCol from FormularioCorto
WHERE idEvento = @idEvento AND myColumn <> ''
UNION ALL
SELECT myColumn2 MyCol from FormularioCorto
WHERE idEvento = @idEvento AND myColumn2 <> ''
UNION ALL
SELECT myColumn3 MyCol from FormularioCorto
WHERE idEvento = @idEvento) AND myColumn3 <> ''
) A
GROUP BY MyCol;
Run Code Online (Sandbox Code Playgroud)
或者只是示例数据和结果:
SELECT NewColumn, Count(*) as Count FROM
(
SELECT columna as NewColumn FROM SomeTable
UNION ALL
SELECT columnb as NewColumn FROM SomeTable
UNION ALL
SELECT columnc as NewColumn FROM SomeTable
) A
Group by NewColumn
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16541 次 |
最近记录: |