WHEREでDISTINCT句を使用するにはどうすればよいですか?例えば:
SELECT * FROM table WHERE DISTINCT email; -- email is a column name
個別のメールアドレスを持つテーブルからすべての列を選択したい。
メールが一意であるすべての列を意味する場合:
SELECT * FROM table WHERE email in
(SELECT email FROM table GROUP BY email HAVING COUNT(email)=1);
によって可能性があります:
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
HAVING
句を使用できます。
SELECT *
FROM tab_name
GROUP BY email_id
HAVING COUNT(*) = 1;
1つの簡単なクエリで実行できます。
SELECT *
FROM table
GROUP BY email
HAVING COUNT(*) = 1;
SELECT DISTINCT dbo.Table.Email、dbo.Table.FirstName dbo.Table.LastName、dbo.Table.DateOfBirth(etc)FROM dbo.Table.Contacts WHERE Email = 'name @ email';
テーブルに一意の列(tableidなど)がある場合は、これを試してください。
SELECT EMAIL FROM TABLE WHERE TABLEID IN
(SELECT MAX(TABLEID), EMAIL FROM TABLE GROUP BY EMAIL)
ROW_NUMBER()を使用できます。どこでも条件を指定できます。 (例:Name LIKE'MyName%
次のクエリで)
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
単純なクエリこのクエリは、電子メールが一意であるテーブルからすべてのレコードを選択します。
select distinct email,* from table_name
これはうまくいかないでしょう:
SELECT email FROM table1 t1
where UNIQUE(SELECT * FROM table1 t2);
試してください:
SELECT * FROM table GROUP BY email