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

  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • Harvest: Greg Laurie

    Harvest: Gre

    6 HAZİRAN 2006
  • VideoGamePervert

    VideoGamePer

    30 AĞUSTOS 2008