SQL-запрос для подсчета количества разных значений - PullRequest
2 голосов
/ 10 марта 2011
x y

A P
A P
B P
B Q

Привет, мне нужен запрос для возврата для всех уникальных значений x, сколько разных y.Так что для приведенных выше данных он вернется:

x count
A 1
B 2

Спасибо

Ответы [ 2 ]

6 голосов
/ 10 марта 2011

Используйте 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 голосов
/ 10 марта 2011

Это простой случай для оператора GROUP BY.

Вот некоторый код:

SELECT x, COUNT(DISTINCT y) AS y
FROM table
GROUP BY x;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...