有没有办法查询列是否存在该列的当前记录值的次数?

时间:2013-07-23 19:54:01

标签: sql count

有没有办法查询列中该列当前记录值的存在次数?对于下面的示例,查询看起来像

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

1 个答案:

答案 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