x y
A P
A P
B P
B Q
嗨,我需要一个查询来返回x的所有唯一值,有多少不同的y。因此,对于上述数据,它将返回:
x count
A 1
B 2
由于
答案 0 :(得分:6)
使用GROUP BY和COUNT(DISTINCT ...)
:
SELECT x, COUNT(DISTINCT y) AS cnt_y
FROM yourtable
GROUP BY x
结果:
x cnt_y A 1 B 2
测试数据:
CREATE TABLE yourtable (x VARCHAR(100) NOT NULL, y VARCHAR(100) NOT NULL); INSERT INTO yourtable (x, y) VALUES ('A', 'P'), ('A', 'P'), ('B', 'P'), ('B', 'Q');
答案 1 :(得分:3)
这是GROUP BY
语句的简单案例。
以下是一些代码:
SELECT x, COUNT(DISTINCT y) AS y
FROM table
GROUP BY x;