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

  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • nemoking of kinges

    nemoking of

    4 EYLÜL 2009
  • Videogamerz | Call of Duty

    Videogamerz

    5 NİSAN 2012