在SQL中组合非唯一值

时间:2013-01-10 20:42:30

标签: mysql sql

在这里找不到具体的答案,如果我一点都模糊,我很抱歉,因为我正在努力理解我的要求。

我有一个名为Data的表,我只想说列的设置为:

Id | X

此数据的样本如下:

Jon1 | a
Jon1 | a
Jon1 | d
Jon2 | b
Jon2 | c
Jon2 | d
Jon2 | c

我正在尝试为ID计算x。假设X有4个不同的可能值,我们会说a,b,c,d,e。我想要做的是获得一个唯一ID的总数a,b,c,d。我想要的结果是:

Jon1 | 3
Jon2 | 4

我知道这可能是通过COUNT子查询实现的,但我不确定将计数链接到某个ID的位置。这有意义吗?这对我来说很难想。

3 个答案:

答案 0 :(得分:2)

试过这个?

SELECT ID, COUNT(*) 
FROM TABLENAME 
GROUP BY ID

这是SQL Fiddle

答案 1 :(得分:2)

如果您不是在寻找DISTINCT COUNT,那么这应该就是您所需要的一切

SELECT Id, COUNT(X)
FROM tbl
GROUP BY Id

答案 2 :(得分:2)

SELECT id , COUNT(x) as Total FROM mytable GROUP BY id