SORU
16 AĞUSTOS 2010, PAZARTESİ


MAX ile TARAFINDAN GRUP(TARİH)

, 8**: Bir tablo (MAX kalkış saati. her bir tren için yeni hedef listesi için çalışıyorum

Train    Dest      Time
1        HK        10:00
1        SH        12:00
1        SZ        14:00
2        HK        13:00
2        SH        09:00
2        SZ        07:00

İstenilen sonucu olmalıdır:

Train    Dest      Time
1        SZ        14:00
2        HK        13:00

Kullanarak denedim

SELECT Train, Dest, MAX(Time)
FROM TrainTable
GROUP BY Train

"ora-00979 olmadığını ifade EDEREK bir GRUP" hatası 'Hedef' deyim. benim gruba dahil etmem gerektiğini söyleyen bir var tarafından Ama kesinlikle istediğim bu değil

SQL bir satır yapmak mümkün mü?

CEVAP
16 AĞUSTOS 2010, PAZARTESİ


SELECT train, dest, time FROM ( 
  SELECT train, dest, time, 
    RANK() OVER (PARTITION BY train ORDER BY time DESC) dest_rank
    FROM traintable
  ) where dest_rank = 1

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • guillaume2111's channel

    guillaume211

    19 Kasım 2006
  • Watcher3223

    Watcher3223

    15 Kasım 2007