﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Yinelenen Değerleri Kaldırmak &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-yinelenen-degerleri-kaldirmak/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Thu, 18 May 2023 21:30:39 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server&#8217;da DISTINCT Kullanmadan Yinelenen Değerleri Kaldırmak</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Thu, 18 May 2023 07:38:44 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Group By Kullanımı]]></category>
		<category><![CDATA[SQL Server Tekrar Eden Değerler]]></category>
		<category><![CDATA[SQL Yinelenen Değerleri Kaldırmak]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=16321</guid>

					<description><![CDATA[Herkese merhaba. Bu yazıda SQL Server&#8217;da DISTINCT kullanmadan yinelenen değerleri kaldırmak ile ilgili bilgi vermeye çalışacağım. SQL Server&#8217;da verilerle çalıştığınızda, bazen veri girişleri nedeniyle değil,...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba. Bu yazıda SQL Server&#8217;da DISTINCT kullanmadan yinelenen değerleri kaldırmak ile ilgili bilgi vermeye çalışacağım.</p>
<p><span class="HwtZe" lang="tr"><span class="jCAhz ChMk0b"><span class="ryNqvb">SQL Server&#8217;da verilerle çalıştığınızda, bazen veri girişleri nedeniyle değil, aynı zamanda T-SQL sorgularıyla da yinelenen veriler elde etme olasılıkları vardır.</span></span> <span class="jCAhz ChMk0b"><span class="ryNqvb">Çoğumuz DISTINCT anahtar sözcüğünü kullanır.</span></span> <span class="jCAhz ChMk0b"><span class="ryNqvb">DISTINCT kullanmak iyidir, bu yinelenen satırları kaldıracaktır.</span></span> <span class="jCAhz ChMk0b"><span class="ryNqvb">Ancak bazı durumlarda DISTINCT sorgu performansını iyileştirmez.</span></span> <span class="jCAhz ChMk0b"><span class="ryNqvb">Sorgu, yürütme için daha fazla zaman harcar ve daha fazla veriye sahipsek bu daha fazla zaman olacaktır.<br />
</span></span></span></p>
<p>ROW_NUMBER() kullanarak, sonuç kümesindeki yinelenen değerleri kaldırabiliriz. ROW_NUMBER(), sorgunun sonuç kümesindeki her satıra sıralı bir tamsayı numarası atayan bir fonksiyondur.</p>
<p>Aşağıda konuyla ilgili bir örnek görmektesiniz.</p>
<pre class="line-numbers"><code class="language-sql">CREATE TABLE MusteriBilgileri (
    MusteriID INT,
    MusteriAdi VARCHAR(50),
    MusteriSoyadi VARCHAR(50),
    Email VARCHAR(100)
);


INSERT INTO MusteriBilgileri (MusteriID, MusteriAdi, MusteriSoyadi, Email)
VALUES
    (1, 'Ahmet', 'Yılmaz', 'ahmet.yilmaz@example.com'),
    (2, 'Ayşe', 'Kara', 'ayse.kara@example.com'),
    (3, 'Ahmet', 'Yılmaz', 'ahmet.yilmaz@example.com'),
    (4, 'Murat', 'Demir', 'murat.demir@example.com'),
    (5, 'Ayşe', 'Kara', 'ayse.kara@example.com'),
    (6, 'Emre', 'Beyaz', 'emre.beyaz@example.com');


WITH CTE
AS
(SELECT
		MusteriID
		,MusteriAdi
		,MusteriSoyadi
		,Email
		,ROW_NUMBER() OVER (PARTITION BY MusteriAdi, MusteriSoyadi, Email ORDER BY MusteriID) AS rn
	FROM MusteriBilgileri)
SELECT
	MusteriID
	,MusteriAdi
	,MusteriSoyadi
	,Email

FROM CTE
WHERE rn = 1</code></pre>
<p>Yukarıdaki kodu çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.</p>
<p><img fetchpriority="high" decoding="async" class="size-full wp-image-16325" src="https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-1.jpg" alt="SQL Server'da DISTINCT Kullanmadan Yinelenen Değerleri Kaldırmak" width="700" height="319" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-1-658x300.jpg 658w, https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-1-315x144.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-1-296x135.jpg 296w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere yinelenen satırlar kaldırılmış oldu.</p>
<p><span class="HwtZe" lang="tr"><span class="jCAhz ChMk0b"><span class="ryNqvb">Başka bir seçenek de, GROUP BY ifadesini kullanarak yinelenen değerleri kaldırmaktır.</span></span> <span class="jCAhz ChMk0b"><span class="ryNqvb">GROUP BY deyimi, aynı değerlere sahip satırları özet satırları halinde gruplandırır.</span></span></span></p>
<pre class="line-numbers"><code class="language-sql">SELECT
	MusteriAdi
   ,MusteriSoyadi
   ,Email
FROM MusteriBilgileri
GROUP BY MusteriAdi
		,MusteriSoyadi
		,Email</code></pre>
<p>Yukarıdaki kodu çalıştırınca aşağıdakine benzer bir sonuç göreceksiniz.</p>
<p><img decoding="async" class="size-full wp-image-16326" src="https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-2.jpg" alt="SQL Server'da DISTINCT Kullanmadan Yinelenen Değerleri Kaldırmak" width="700" height="432" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-2.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-2-486x300.jpg 486w, https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-2-315x194.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2023/05/sql-serverda-distinct-kullanmadan-yinelenen-degerleri-kaldirmak-2-219x135.jpg 219w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p><iframe title="SQL Server’da DISTINCT Kullanmadan Yinelenen Değerleri Kaldırmak" width="739" height="416" src="https://www.youtube.com/embed/uA28hn3l8KQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>Görüldüğü üzere yinelenen satırlar tekrar kaldırılmış oldu.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 303</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
