J'ai une table avec quelques données, qui est montrée comme ci-dessous.
Je veux get des données uniques de la table et j'ai essayé ci-dessous le code
SELECT sa.EMPID, sa.EMPNAME, sa.DEPTID FROM dbo.Sample AS sa LEFT OUTER JOIN dbo.Sample AS se ON sa.EMPID = se.EMPID
mais pas en mesure d'get le résultat.
Je veux que la requête soit en dessous des données
Quelqu'un peut-il s'il vous plaît m'aider à résoudre cette question ..?
essaye ça :
SELECT EMPNAME, DEPTID, MIN(EMPID) AS EMPID FROM dbo.Sample GROUP BY EMPNAME, DEPTID
Essaye celui-là –
SELECT EMPID, EMPNAME, DEPTID FROM ( SELECT EMPID, EMPNAME, DEPTID, RowNum = ROW_NUMBER() OVER (PARTITION BY EMPNAME, DEPTID ORDER BY 1/0) FROM dbo.[Sample] ) t WHERE RowNum = 1
Vous pouvez group by
empname
et deptid
, et select le empid
minimal:
SELECT MIN(sa.EMPID), sa.EMPNAME, sa.DEPTID FROM dbo.Sample AS sa LEFT OUTER JOIN dbo.Sample AS se ON sa.EMPID = se.EMPID GROUP BY sa.EMPNAME, sa.DEPTID
Essaye ça
With tmp AS FROM (SELECT S.EMPID,S.EMPNAME,S.DEPTID,RowNum = ROW_NUMBER() OVER (PARTITION BY S.EMPNAME, S.DEPTID ORDER BY S.EMPID) FROM dbo.[Sample] S LEFT JOIN dbo.[Sample] T ON T.EMPID = S.EMPID) SELECT EMPID,EMPNAME,DEPTID FROM tmp WHERE RowNum = 1
ce que tu veux:
SELECT Min(EMPID) AS EMPID, EMPNAME, DEPTID FROM dbo.Sample Group By EMPNAME, DEPTID