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

  • Break

    Break

    10 Aralık 2005
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006
  • theKGB65

    theKGB65

    24 Aralık 2007