/ / Select Query Ignore Field - mysql, sql

Selecione o campo Ignorar consulta - mysql, sql

Eu tenho uma tabela chamada teste com valores abaixo. Eu quero buscar quantos usuários estão usando id aberto.

----+----------+-----------+
| NAME   | PROVIDER | OPERATION |
+--------+----------+-----------+
| Samuel | Google   | P         |
| Samuel | Google   | V         |
| Kannan | Google   | V         |
| George | Google   | V         |
| Bush   | Google   | V         |
| Bush   | Yahoo    | V         |
+--------+----------+-----------+

Inquerir: select distinct(Name) from test group by PROVIDER

Resultado:

+-----------------------+----------+
| count(distinct(NAME)) | PROVIDER |
+-----------------------+----------+
|                     4 | Google   |
|                     1 | Yahoo    |
+-----------------------+----------+

Nesta consulta eu quero ignorar a contagem que uma operação do usuário é P para um PROVEDOR. Como posso fazer isso em uma única consulta?

Saída deve ser

+-----------------------+----------+
| count(distinct(NAME)) | PROVIDER |
+-----------------------+----------+
|                     3 | Google   |
|                     1 | Yahoo    |
+-----------------------+----------+

Respostas:

4 para resposta № 1

tente isso,

SELECT  `Provider`, COUNT(DISTINCT Name)
FROM    tableName
WHERE   NAME NOT IN
(
SELECT Name
FROM tableName
WHERE Operation = "P"
)
GROUP BY Provider

0 para resposta № 2
select count(distinct(Name)) from test where operation != "P" group by PROVIDER;