2011-03-09 77 views

回答

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'); 
3

這是GROUP BY聲明的簡單情況。

下面是一些代碼:

SELECT x, COUNT(DISTINCT y) AS y 
FROM table 
GROUP BY x;