x y
A P
A P
B P
B Q
你好,我需要一个查询来返回 x 的所有唯一值,有多少个不同的 y。因此,对于上述数据,它将返回:
x count
A 1
B 2
Thanks
使用 GROUP BY 和COUNT(DISTINCT ...) http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_count-distinct:
SELECT x, COUNT(DISTINCT y) AS cnt_y
FROM yourtable
GROUP BY x
Result:
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');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)