我的表格中包含a
,b
和c
通常相同的行。
我有一个查询,给我每个独特的记录。我正在尝试获取返回的每个不同记录的重复记录的计数。
SELECT DISTINCT
a,
b,
c,
COUNT(id) as counted
FROM
table
COUNT
此处返回所有记录的计数。我所寻找的是与唯一记录相同的记录数。
答案 0 :(得分:3)
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中的单个表)。所以它检查相等然后计数。因为我们对一个专栏进行了区分,所以所有的游戏都只用了这个。 我希望能够飞机。
答案 1 :(得分:2)
我必须使用子查询来获取查询非不同记录。然后,我可以使用子查询的WHERE子句中第一个查询的结果。
SELECT DISTINCT
a,
b,
c,
(
SELECT
COUNT(id)
FROM
table_name t1
WHERE
t2.a = t1.a
) AS counted
FROM
table_name t2
这很有效。如果我的理解存在差距,请告诉我。
答案 2 :(得分:2)
SELECT a,b,c,COUNT(*) FROM table GROUP BY a,b,c