FARKLI PostgreSQL: Seç, Sırala ve Sınırla (Örnekler)

⚡ Akıllı Özet

FARKLI PostgreSQL SELECT ifadesiyle birlikte kullanıldığında yinelenen satırları kaldırır ve yalnızca benzersiz değerleri döndürür. SELECT sözdizimini, SQL Shell ve pgAdmin'i, tek ve çoklu sütunlarda DISTINCT kullanımını ve DISTINCT ile GROUP BY arasındaki farkı kapsar.

  • 🔎 SEÇ: SELECT column FROM table sorgusuyla bir tablodan sütunları alın.
  • 🧹 BELİRGİN: Yinelenen satırları kaldırın ve her benzersiz değer için bir satır bırakın.
  • ↕️ TARAFINDAN SİPARİŞ: Varsayılan olarak artan sırada, DESC seçeneğiyle ise azalan sırada sıralayın.
  • 🔢 SINIR: Sorgunun döndürdüğü kayıt sayısını sınırlayın.
  • 🖥️ Araçlar: Aynı sorguları SQL Shell veya pgAdmin'de çalıştırın.

FARKLI PostgreSQL

SELECT ifadesini kullanarak tablodan veri alabilirsiniz.

Sözdizimi:

SELECT [column names] FROM [table_name]

Burada,

  • Sütun adları: Değerlerini almak istediğiniz sütunların adları.
  • DAN: FROM yan tümcesi, SELECT sorgusu için bir veya daha fazla kaynak tablo tanımlar.
  • Tablo ismi: Sorgulamak istediğiniz mevcut tablonun adı.

Neyin farklı olduğunu açıklayan nedir? PostgreSQL?

MKS DISTINCT madde içinde PostgreSQL SELECT ifadesiyle birlikte kullanıldığında sonuç kümesinden yinelenen satırları kaldırır. Bir sütun tekrarlanan değerler içeriyorsa, SELECT DISTINCT yalnızca benzersiz değerleri döndürür.ping Yinelenen kayıt gruplarının her biri için tek bir satır. Bu, tekrarlamadan farklı girişlerin listesini istediğinizde kullanışlıdır; örneğin, benzersiz müşteri şehirleri veya ürün kategorileri gibi.

DISTINCT, bir satırın benzersiz olup olmadığına karar vermek için SELECT ifadesinde listelenen tüm sütunları değerlendirir. PostgreSQL Ayrıca, belirtilen bir ifadenin her farklı değeri için ilk satırı döndüren DISTINCT ON seçeneğini de sunar. Hangi satırların görüneceğini kontrol etmek için DISTINCT'i ORDER BY ile ve sonuç sayısını sınırlamak için LIMIT ile birleştirebilirsiniz.

PostgreSQL SQL Kabuğunda İfadeyi Seçin

) 1 Adım “tutorials” adında, “id” ve “tutorial_name” olmak üzere iki sütunu olan bir tablomuz var. Şimdi bu tabloyu sorgulayalım. Tablodaki verileri listelemek için aşağıdaki sorguyu kullanın:

SELECT id,tutorial_name FROM tutorials;

PostgreSQL SQL Kabuğunda İfadeyi Seçin

NOT: Sorgulamak istediğiniz tabloyu içeren veritabanına bağlanmak için \c komutunu kullanın. Bizim örneğimizde, guru99 veritabanına bağlıyız.

) 2 Adım Belirli bir tablodaki tüm sütunları görüntülemek istiyorsanız, yıldız (*) joker karakterini kullanabilirsiniz. Bu, her olasılığı kontrol ettiği ve sonuç olarak her sütunu döndüreceği anlamına gelir.

SELECT * FROM tutorials;

PostgreSQL SQL Kabuğunda İfadeyi Seçin

Öğretici tablosunun tüm kayıtlarını görüntüler.

) 3 Adım Bir tablodaki verileri belirli bir sütuna göre sıralamak için ORDER yan tümcesini kullanabilirsiniz. ORDER cümlesi verileri A'dan Z'ye sırayla düzenler.

SELECT * FROM tutorials ORDER BY id;

PostgreSQL SQL Kabuğunda İfadeyi Seçin

“ORDER BY” ifadesinden sonra “DESC” komutunu kullanarak Z'den A'ya sıralama yapabilirsiniz.

SELECT * FROM tutorials ORDER BY id DESC;

PostgreSQL SQL Kabuğunda İfadeyi Seçin

) 4 Adım SELECT DISTINCT ifadesi PostgreSQL sonuçtan yinelenen satırları kaldırmak için cümlecik kullanılabilir. Her kopya grubu için bir satır tutar.

Syntax:
SELECT DISTINCT column_1 FROM table_name;

Postgres veritabanından farklı kimlik değerlerini (id) seçmek için distinct sorgularını kullanarak tablo eğitimlerimizi inceleyelim. PostgreSQL:

SELECT DISTINCT(id) FROM tutorials;

PostgreSQL SQL Kabuğunda İfadeyi Seçin

) 5 Adım Sen kullanabilirsiniz PostgreSQL SELECT sorgusunun döndürdüğü kayıt sayısını sınırlamak için LIMIT yan tümcesi kullanılır.

SELECT * FROM tutorials LIMIT 4;

PostgreSQL SQL Kabuğunda İfadeyi Seçin

PostgreSQL pgAdmin'de Seçme Sorgusu

) 1 Adım Nesne Ağacında:

  1. Tabloya sağ tıklayın.
  2. Komut Dosyalarını Seçin.
  3. "Komut dosyasını seç"e tıklayın.

PostgreSQL pgAdmin'de Seçme Sorgusu

) 2 Adım Sağdaki panelde:

  1. Gerekirse SELECT sorgusunu düzenleyin.
  2. Şimşek simgesine tıklayın.
  3. Çıktıyı gözlemleyin.

PostgreSQL pgAdmin'de Seçme Sorgusu

Birden Çok Sütunda AYRI

SELECT DISTINCT yan tümcesi birden fazla sütuna da uygulanabilir. DISTINCT'ten sonra birden fazla sütun listelediğinizde, PostgreSQL Bu işlem, söz konusu sütunların birleşimini bir birim olarak ele alır ve bu birleşimin tamamının tekrarlandığı satırları siler.

Syntax:
SELECT DISTINCT column_1, column_2 FROM table_name;

Örneğin, tutorials tablosundan tutorial_name ve id'nin benzersiz kombinasyonlarını döndürmek için:

SELECT DISTINCT tutorial_name, id FROM tutorials;

Bu durumda, bir satır yalnızca hem tutorial_name hem de id başka bir satırla eşleştiğinde kaldırılır. İki satır aynı tutorial_name'e sahipse ancak farklı id değerlerine sahipse, her ikisi de saklanır çünkü kombinasyon hala benzersizdir. Bu davranışı hatırlamak önemlidir: DISTINCT, birden fazla sütun seçildiğinde tek bir sütunu değil, seçilen sütunların tamamını birlikte kaldırır.

DISTINCT ve GROUP BY arasındaki fark PostgreSQL

Hem DISTINCT hem de GROUP BY yinelenen değerleri kaldırabilir, ancak farklı amaçlara hizmet ederler:

  • DISTINCT Bu yöntem, sonuçtan yalnızca benzersiz satırları döndürür ve yalnızca yinelenmeyen bir listeye ihtiyacınız olduğunda en iyisidir.
  • GROUP BY Aynı değere sahip satırları gruplandırarak COUNT, SUM gibi toplama işlevlerini uygulayabilirsiniz. AVG her gruba.

Örneğin, aşağıdaki iki sorgu da benzersiz kimlik değerlerini döndürür:

SELECT DISTINCT id FROM tutorials;
SELECT id FROM tutorials GROUP BY id;

Benzersiz değerlerin düz bir listesi için DISTINCT kullanın ve her grup için bir hesaplama da gerektiğinde (örneğin, her kimliği paylaşan kaç eğitim videosu olduğunu saymak gibi) GROUP BY kullanın. Basit sorgularda planlayıcı genellikle her ikisi için de benzer performans üretir, ancak toplama işlemi söz konusu olduğunda GROUP BY gereklidir.

Hile Sayfası

SELECT [column names] FROM [table_name] [clause]

İşte çeşitli parametreler:

  • Sütun adları: Değerlerini almak istediğiniz sütunların adları.
  • DAN: FROM yan tümcesi, SELECT sorgusu için bir veya daha fazla kaynak tablo tanımlar.
  • Tablo ismi: Sorgulamak istediğiniz mevcut tablonun adı.

Çeşitli hükümler şunlardır:

Komutları Açıklama
* Tablodaki tüm satırlar için kayıtları getirir.
DISTINCT FARKLI PostgreSQL Sonuçlardan yinelenenleri kaldırmanıza yardımcı olur.
TARAFINDAN SİPARİŞ Bir sütuna göre satırları sıralar. Varsayılan sıralama düzeni artandır. Azalan sırada sıralamak için DESC anahtar kelimesini kullanın.
LİMİT SINIR içinde PostgreSQL sorgunun döndürdüğü kayıt sayısını kısıtlar.

SSS

Evet. Yapay zeka asistanları bir açıklamayı SELECT DISTINCT ifadelerine dönüştürebilir, ORDER BY veya LIMIT ekleyebilir ve sonucu açıklayabilir. Yine de, sorguyu üretim ortamında çalıştırmadan önce şemanızda test etmelisiniz.

Evet. Yapay zeka araçları EXPLAIN ANALYZE komutundan sorgu planını okuyabilir ve indeksler önerebilir veya DISTINCT ifadesini GROUP BY olarak yeniden yazabilir. Performans tablo boyutuna ve indekslere bağlı olduğundan, önerileri her zaman gerçek verilerle doğrulayın.

DISTINCT, seçilen tüm sütunlardaki yinelenen satırları kaldırır. DISTINCT ON (ifade), bu ifadenin her farklı değeri için ilk satırı korur ve genellikle ORDER BY ile birlikte kullanılarak grup başına bir satır seçmenize olanak tanır.

DISTINCT operatörü, büyük tablolarda daha yavaş olabilir çünkü genellikle sıralama veya karma algoritması kullanarak yinelenen kayıtları karşılaştırmalı ve kaldırmalıdır. Uygun indeksler ve seçilen sütunları sınırlamak, maliyetini azaltmaya yardımcı olur.

Bu yazıyı şu şekilde özetleyin: