我有一个行,其中a
,b
和c
通常是相同的行。 我有一个查询,让我每一个独特的记录。我试图获得计数,返回每个不同记录的重复记录。获取由DISTINCT查询产生的重复行数
SELECT DISTINCT
a,
b,
c,
COUNT(id) as counted
FROM
table
COUNT
这里返回所有记录的计数。我正在寻找的是与唯一记录相同的记录数。
我有一个行,其中a
,b
和c
通常是相同的行。 我有一个查询,让我每一个独特的记录。我试图获得计数,返回每个不同记录的重复记录。获取由DISTINCT查询产生的重复行数
SELECT DISTINCT
a,
b,
c,
COUNT(id) as counted
FROM
table
COUNT
这里返回所有记录的计数。我正在寻找的是与唯一记录相同的记录数。
SELECT a,b,c,COUNT(*) FROM table GROUP BY a,b,c
啊,原来是重复想通了这一个了,因为我在写这个问题 - 我想我会分享我的结果,因为它们是从我得到了我的答案足够不同。
我必须使用子查询得到的查询不重复的记录。然后,我可以使用子查询的WHERE子句中的第一个查询的结果。
SELECT DISTINCT
a,
b,
c,
(
SELECT
COUNT(id)
FROM
table_name t1
WHERE
t2.a = t1.a
) AS counted
FROM
table_name t2
这是有效的。让我知道我的理解是否存在差距。
SELECT DISTINCT
a,
b,
c,
(
SELECT
COUNT(id)
FROM
table_name t1
WHERE
t2.a = t1.a
) AS counted
FROM
table_name t2
以上的子查询所知道的行内的子查询。在where子句t1和t2当作不同的表(这是一个在DB单表)的查询。所以它检查平等,然后计数。因为我们为一个专栏设置了独特的功能,所以所有的游戏都只用于完成。 我希望我能够搭乘飞机。
这也工作。据我所知,同样的结果和简单的查询。 – 2013-03-08 10:56:40