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

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007
  • PaysNatalAu's channel

    PaysNatalAu'

    11 Aralık 2010