x y
A P A P B P B Q
嗨,我需要一个查询来返回x的所有唯一值,多少个y值。因此,对于以上数据,它将返回:
x count A 1 B 2
谢谢
使用GROUP BY和COUNT(DISTINCT ...):
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');