【发布时间】:2012-12-10 18:55:38
【问题描述】:
给定 SQL-Server 中的表,例如:
Id INTEGER
A VARCHAR(50)
B VARCHAR(50)
-- Some other columns
在 A 或 B 上没有索引的情况下,我希望找到 A 和 B 的唯一组合出现多次的行。
我正在使用查询
SELECT A+B, Count(A+B) FROM MyTable
GROUP BY A+B
HAVING COUNT(A+B) > 1
第一个问题
有没有更省时的方法来做到这一点? (我无法向数据库添加索引)
第二个问题
当我尝试通过在连接中包含, 来获得输出的某些格式时:
SELECT A+','+B, Count(A+','+B) FROM MyTable
GROUP BY A+','+B
HAVING COUNT(A+','+B) > 1
查询失败并出现错误
Column 'MyDB.dbo.MyTable.A' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause
B 列出现类似错误。
如何格式化输出以分隔两列?
【问题讨论】:
标签: sql sql-server