Farklı yolla distinct sorgusu nasıl yapılır ?

Merhabalar distinct kullanımının farklı şekilde nasıl kullanabilir bugün onlara bakalım.

Tablo adında bir tablomuz alan1 , alan2 adında 2 tane sütunumuz olsun

Yol : 1

select distinct alan1,alan2 from tablo

Yol : 2

select distinct alan1, alan2 from tablo by alan1,alan2

Yol : 3
select alan1, alan2 from tablo
group by alan1, alan2

Yol : 4

select alan1, alan2 from tablo
group by alan1, alan2
having count(*) = 1
union
select alan1, alan2 from tablo
group by alan1, alan2
having count(*) > 1

Yol : 5
select alan1, alan2 from tablo
union
select alan1, alan2 from tablo

–Method 4
while @@rowcount > 0
begin
insert into tablo2
select alan1, max(alan2), max(alan3) from tablo a
where a.alan1 not in
(
select alan2 from tablo2 b
where a.alan1 = b.alan1 and a.alan2 = b.alan2
and ISNULL(a.alan3, ”) = ISNULL(b.alan3, ”)
)
and a.alan2 is not null and a.alan3 is not null
group by alan1
end

Yol :6
create unique index yeniindex tablo(alan1,alan2, ..)–Tum alanlari yazmalisiniz
with ignore_dup_keyinsert into yeniindex (alan1,alan2,..)
select (alan1,alan2,..) from table

Yol : 7 (SQL Server 2005 için)
select alan1,alan2 from
(
SELECT *, row_number() OVER(PARTITION BY alan1,alan2 ORDER BY (SELECT 1)) rn
FROM dbo.tablo1
) a
where rn = 1

Ayrıca Buna Bakabilirsiniz

SQL Server: Login failed for User ‘NT AUTHORITY\ANONYMOUS LOGON

SQL Server: Login failed for User ‘NT AUTHORITY\ANONYMOUS LOGON’ Merhaba bu hata www.sqlogren.com sitesindeki en …

Yorumlar

  1. […] Nasıl Kullanılır Sql Where ve Max Date Nasıl Kullanılır Sql Distinct Nasıl Kullanılır Sql Distinct Farklı Kullanım Birden fazla kayıt insert çoklu insert nasıl kullanılır ? Sql Alter Nasıl Kullanılır ? Sql […]