【发布时间】:2011-03-09 22:44:07
【问题描述】:
x y
A P
A P
B P
B Q
嗨,我需要一个查询来返回 x 的所有唯一值,有多少个不同的 y。所以对于上面的数据,它会返回:
x count
A 1
B 2
谢谢
【问题讨论】:
x y
A P
A P
B P
B Q
嗨,我需要一个查询来返回 x 的所有唯一值,有多少个不同的 y。所以对于上面的数据,它会返回:
x count
A 1
B 2
谢谢
【问题讨论】:
使用 GROUP BY 和 COUNT(DISTINCT ...):
SELECT x, COUNT(DISTINCT y) AS cnt_y
FROM yourtable
GROUP BY x
结果:
x cnt_y 1 乙二测试数据:
CREATE TABLE yourtable (x VARCHAR(100) NOT NULL, y VARCHAR(100) NOT NULL); 插入您的表(x,y)值 ('A', 'P'), ('A', 'P'), ('B', 'P'), ('B', 'Q');【讨论】:
这是GROUP BY 语句的简单案例。
这里有一些代码:
SELECT x, COUNT(DISTINCT y) AS y
FROM table
GROUP BY x;
【讨论】: