MySQL MariaDB

MySQL Tabloda Yinelenen Değerleri Bulma

MySQL Tabloda Yinelenen Değerleri Bulma
Veritabanı programı tarafından gereksiz veriler tabloda tutulabilir, bu da veritabanının MySQL'deki çıktısını etkiler. Yine de veri çoğaltma farklı amaçlar için gerçekleşir ve bir MySQL veritabanıyla uğraşırken tablodaki yinelenen değerleri belirlemek önemli bir iştir. Genel olarak konuşursak, gereksiz satırları önleyen bilgileri depolamak için genellikle bir tabloda net kısıtlamalar kullanmak akıllıcadır. Bazen bir MySQL veritabanında tekrarlanan değerlerin sayısını hesaplamak isteyebilirsiniz. Yinelenen değerlerin farklı yollarla nasıl bulunacağını ve yinelenen değerlerin nasıl sayılacağını öğreneceğiniz bu konuda bu soruyu ele aldık.

Başlamak için, sisteminizde yardımcı programlarıyla birlikte MySQL'in kurulu olması gerekir: MySQL tezgahı ve komut satırı istemci kabuğu. Bundan sonra, veritabanı tablolarınızda kopya olarak bazı veriler veya değerler olmalıdır. Bunu birkaç örnekle inceleyelim. Her şeyden önce, masaüstü görev çubuğunuzdan komut satırı istemci kabuğunuzu açın ve sorulduğunda MySQL şifrenizi yazın.

Bir tabloda kopyaları bulmak için farklı yöntemler bulduk. Onlara birer birer göz atın.

Tek Bir Sütunda Yinelenenleri Ara

İlk olarak, tek bir sütun için kopyaları kontrol etmek ve saymak için kullanılan sorgunun sözdizimini bilmelisiniz.

>> GROUP BY sütuna göre sütun SAYI(sütun) SEÇİN SAYI(sütun) > 1;

İşte yukarıdaki sorgunun açıklaması:

MySQL veritabanımızdaki 'verilerde' yinelenen değerlere sahip 'hayvanlar' adında yeni bir tablo oluşturduk. İçinde farklı değerlere sahip altı sütun var, e.g., Farklı evcil hayvanlar hakkında bilgi sağlayan kimlik, İsim, Tür, Cinsiyet, Yaş ve Fiyat. SELECT sorgusunu kullanarak bu tabloyu çağırdığımızda, MySQL komut satırı istemci kabuğumuzda aşağıdaki çıktıyı alıyoruz.

>> verilerden * SEÇİN.hayvanlar;

Şimdi SELECT sorgusunda COUNT ve GROUP BY yan tümcelerini kullanarak yukarıdaki tablodan gereksiz ve tekrarlanan değerleri bulmaya çalışacağız. Bu sorgu, tabloda 3 defadan daha az bulunan evcil hayvanların isimlerini sayacaktır. Bundan sonra, bu İsimleri aşağıdaki gibi gösterecektir.

>> Veriden COUNT(Ad) Adı SEÇ.hayvanlar GROUP BY Ada Göre SAYISI OLAN(Ad) < 3;

Aşağıda gösterildiği gibi Evcil Hayvan Adları için COUNT numarasını değiştirirken farklı sonuçlar elde etmek için aynı sorguyu kullanma.

>> Veriden COUNT(Ad) Adı SEÇ.hayvanlar Ada Göre GRUP SAYISI(İsim) > 3;

Aşağıda gösterildiği gibi evcil hayvan adları için toplam 3 yinelenen değer için sonuç almak için.

>> Veriden COUNT(Ad) Adı SEÇ.hayvanlar GROUP BY Ada Göre SAYISI(Ad) = 3;

Yinelenenleri Birden Çok Sütunda Ara

Birden çok sütun için yinelenenleri kontrol etmek veya saymak için sorgunun sözdizimi aşağıdaki gibidir:

>> SELECT sütun1, SAYI(sütun1), sütun2, COUNT(sütun2) tablodan GROUP BY sütun1, sütun2 SAYIS(sütun1) > 1 VE  SAYI(sütun2) > 1;

İşte yukarıdaki sorgunun açıklaması:

Yinelenen değerlere sahip 'hayvanlar' adlı aynı tabloyu kullanıyoruz. Birden çok sütundaki yinelenen değerleri kontrol etmek için yukarıdaki sorguyu kullanırken aşağıdaki çıktıyı aldık. Fiyat sütununa göre gruplandırılırken Cinsiyet ve Fiyat sütunları için yinelenen değerleri kontrol ediyor ve sayıyoruz. Tabloda bulunan evcil hayvan cinsiyetlerini ve fiyatlarını 5'ten fazla olmamak üzere kopya olarak gösterecektir.

>> CİNSİYET SEÇ, COUNT(Cinsiyet), Fiyat, COUNT(Fiyat) FROM verisi.hayvanlar SAYISI OLAN FİYATA GÖRE GRUP(Fiyat) < 5 AND  COUNT(Gender) < 5;

INNER JOIN Kullanarak Tek Tabloda Kopyaları Ara

Tek bir tabloda kopyaları bulmak için temel sözdizimi şöyledir:

>> sütun1, sütun2, tablo SEÇ.col FROM tablosu INNER JOIN(SEÇ SAYISI(sütun1) > 1) temp ON tablosuna göre tablo GROUP BY sütundan SEÇİN.sütun = sıcaklık.sütun;

İşte genel gider sorgusunun anlatımı:

Aşağıda gösterildiği gibi OrderNo sütununda yinelenen değerler içeren yeni bir 'order2' tablomuz var.

>> verilerden * SEÇİN.sipariş2;

Çıktıda gösterilecek üç sütun seçiyoruz: Item, Sales, OrderNo. OrderNo sütunu kopyaları kontrol etmek için kullanılırken. İç birleştirme, bir tabloda birden fazla Öğe değerlerine sahip değerleri veya satırları seçecektir. Yürüttüğümüzde, aşağıdaki sonuçları alacağız.

>> Öğe SEÇ, Satış, sipariş2.SiparişNo FROM verisi.order2 INNER JOIN(veriden OrderNo SEÇİN.order2 GROUP BY OrderNo COUNT(Item) > 1) temp ON order2'ye sahip.SiparişNo= sıcaklık.SiparişNo;

INNER JOIN Kullanarak Birden Çok Tabloda Kopyaları Ara

Birden çok tabloda yinelenenleri bulmak için basitleştirilmiş sözdizimi:

>> tablo1'DEN sütun SEÇİN INNER JOIN table2 ON table1.sütun = tablo2.sütun;

İşte genel gider sorgusunun açıklaması:

Aşağıda gösterildiği gibi her ikisinde de 'SiparişNo' sütununa sahip veritabanımızda 'order1' ve 'order2' adlı iki tablomuz var.

Belirtilen bir sütuna göre iki tablonun kopyalarını birleştirmek için INNER birleşimini kullanacağız. INNER JOIN yan tümcesi her iki tablodaki tüm verileri birleştirerek alır ve ON yan tümcesi her iki tablodaki aynı ad sütunlarını ilişkilendirir, e.g., SiparişNo.

>> verilerden * SEÇİN.order1 INNER JOIN verileri.sipariş2 ON sipariş1.SiparişNo = sipariş2.SiparişNO;

Belirli sütunları bir çıktıda almak için aşağıdaki komutu deneyin:

>> Verilerden Bölge, Durum, Öğe, Satış SEÇİN.order1 INNER JOIN verileri.sipariş2 ON sipariş1.SiparişNo = sipariş2.SiparişNO;

Sonuç

Artık MySQL bilgilerinin bir veya birkaç tablosunda birden çok kopya arayabilir ve GROUP BY, COUNT ve INNER JOIN işlevini tanıyabiliriz. Tabloları doğru bir şekilde oluşturduğunuzdan ve ayrıca doğru sütunların seçildiğinden emin olun.

Linux için En İyi Komut Satırı Oyunları
Komut satırı, Linux kullanırken yalnızca en büyük müttefikiniz değil, aynı zamanda eğlence kaynağı da olabilir, çünkü onu özel bir grafik kartı gerekt...
Linux için En İyi Gamepad Eşleme Uygulamaları
Tipik bir klavye ve fare giriş sistemi yerine bir gamepad ile Linux'ta oyun oynamayı seviyorsanız, sizin için bazı faydalı uygulamalar var. Çoğu PC oy...
Linux Oyuncuları için Faydalı Araçlar
Linux'ta oyun oynamayı seviyorsanız, oyun deneyimini geliştirmek için Wine, Lutris ve OBS Studio gibi uygulamaları ve yardımcı programları kullanmış o...