2016-04-10 18 views
0

Çeşitli veriler içeren büyük bir tablom var ve bir sütun tarihi temsil ediyor. Tarih veri tipi. Herhangi bir kopya olmadan o tarihten itibaren tüm olası yıllar ile değişken atamak istiyorum. ÖrneğinYinelenen bir tablodaki tarihlerden sadece yıl bölümünü seçin

:

| dates | 
+------------+ 
| 2016-04-04 | 
| 2016-05-05 | 
| 2016-06-06 | 
| 2017-05-02 | 
| 2017-01-05 | 
| 2018-07-05 | 

benim değişkeni şöyle bakmak istiyorum:

@years = [2016, 2017, 2018] 
+0

kullandığınız veritabanı? – Pavan

+0

@Pavan sqlite geliştirmede, pg prodcution içinde – Kunok

cevap

2
years = Model.pluck(:date).map(&:year).uniq 
+0

Budur. Sadece lütfen biçimlendirin ve cevabınızı kabul ediyorum (CTRL + K kodu biçimlendirmek için) – Kunok

+0

@Kunok Satırların sayısı küçükse ve böyle kalacaksa bu iyi bir cevaptır. Satır sayısı büyükse, veritabanından çok fazla satır almayı sürdürmek için veritabanının kendisinin tüm işi yapmasına neden olmak genellikle daha iyidir. Bağlantılı sorudaki kabul edilen cevap nasıl olduğunu gösterir. –

İlgili konular