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

  • LG Mobile Global

    LG Mobile Gl

    2 EYLÜL 2010
  • Madeon

    Madeon

    31 Ocak 2010
  • SVB International

    SVB Internat

    29 EKİM 2011