SORU
25 Mayıs 2011, ÇARŞAMBA


/Mysql SQL - farklı/BENZERSİZ Seçin ama tüm sütunları dönmek?

SELECT DISTINCT field1, field2, field3, ......   FROM table

Aşağıdaki sql deyimi başarmak için çalışıyorum ama bu mümkün tüm sütunları dönmek istiyorum? Gibi bir şey

SELECT DISTINCT field1, * from table

CEVAP
25 Mayıs 2011, ÇARŞAMBA


Bir grup arıyoruz:

select *
from table
group by field1

Bazen farklı bir ifade ile yazılabilir:

select distinct on field1 *
from table

Birçok platformda, ancak yukarıdakilerin hiçbiri diğer sütunlar üzerinde davranış belirsiz olduğu için çalışacak. (İlk eğer kullandığınız ne olursa MySQL çalışıyor.)

Farklı alanları getirme ve keyfi tek bir satır seçmek için sopa her zaman olabilir.

Bazı platformlar (örneğin, PostgreSQL, Oracle, T-SQL) bu doğrudan pencere fonksiyonları kullanılarak yapılır

select *
from (
   select *,
          row_number() over (partition by field1 order by field2) as row_number
   from table
   ) as rows
where row_number = 1

Diğerleri (MySQL, SQLite), tavsiye değil, bu yüzden kendisi ile tüm tabloyu join (example) yapacak alt sorgular yazmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • happyjpy

    happyjpy

    22 AĞUSTOS 2009
  • Shanice Caruthers

    Shanice Caru

    27 EKİM 2011
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012