Comment utiliser la clause DISTINCT avec WHERE? Par exemple:
SELECT * FROM table WHERE DISTINCT email; -- email is a column name
Je souhaite sélectionner toutes les colonnes d'une table avec des adresses électroniques distinctes.
Si vous voulez parler de toutes les colonnes dont le courrier est unique:
SELECT * FROM table WHERE email in
(SELECT email FROM table GROUP BY email HAVING COUNT(email)=1);
Peut être par:
SELECT DISTINCT email,id FROM table where id='2';
select t1.*
from YourTable as t1
inner join
(select email
from YourTable
group by email
having count(email) = 1 ) as t2
on t1.email = t2.email
Vous pouvez utiliser la clause HAVING
.
SELECT *
FROM tab_name
GROUP BY email_id
HAVING COUNT(*) = 1;
Une simple requête le fera:
SELECT *
FROM table
GROUP BY email
HAVING COUNT(*) = 1;
Si vous avez une colonne unique dans votre table (par exemple, tableid), essayez ceci.
SELECT EMAIL FROM TABLE WHERE TABLEID IN
(SELECT MAX(TABLEID), EMAIL FROM TABLE GROUP BY EMAIL)
Vous pouvez utiliser ROW_NUMBER (). Vous pouvez également spécifier où sont les conditions. (par exemple, Name LIKE'MyName%
dans la requête suivante)
SELECT *
FROM (SELECT ID, Name, Email,
ROW_NUMBER() OVER (PARTITION BY Email ORDER BY ID) AS RowNumber
FROM MyTable
WHERE Name LIKE 'MyName%') AS a
WHERE a.RowNumber = 1
requête simple cette requête sélectionne tous les enregistrements de la table où l'email est unique:
select distinct email,* from table_name
Cela ne fonctionnerait-il pas:
SELECT email FROM table1 t1
where UNIQUE(SELECT * FROM table1 t2);
SELECT * FROM table GROUP BY email