有没有办法查询列中该列当前记录值的存在次数?对于下面的示例,查询看起来像
SELECT ID, Col1, (SELECT COUNT(Col1) WHERE Col1 = Col1) AS Expr1
样本表
ID | Col1
1 | A
2 | B
3 | C
4 | A
5 | B
SELECT
的样本输出ID | Col1 | Expr1
1 | A | 2
2 | B | 2
3 | C | 1
4 | A | 2
5 | B | 2
答案 0 :(得分:2)
这是一种方法,使用分组操作和连接操作。 (这种语法应该非常标准)
SELECT a.ID, a.Col1, b.Expr1
FROM MyTable a
INNER JOIN (
SELECT Col1, COUNT(Col1) AS Expr1
FROM MyTable
GROUP BY Col1
) b
ON a.Col1 = b.Col1