SQL सर्वर में, मैं बुकिंग आईडी द्वारा समूहीकृत AMOUNT का योग प्राप्त करना चाहता हूं, लेकिन अतिरिक्त कॉलम के रूप में प्रति बुकिंग आईडी प्रस्थान तिथि की अधिकतम तिथि भी प्राप्त करना चाहता हूं।

 BOOKING ID | DEPARTURE DATE | AMOUNT
       1       2013-04-12        100
       1       2013-04-14        120
       1       2013-04-9          90
       2       2013-04-14        100
       2       2013-04-18        150
       3       2013-04-12        100

वांछित परिणाम:

BOOKING ID  |   MAX DATE   | AMOUNT
       1       2013-04-14      310
       2       2013-04-18      250
       3       2013-04-12      100

एक आसान समस्या की तरह लगता है, लेकिन मेरे सीमित SQL सर्वर ज्ञान के साथ मैं केवल अस्थायी तालिकाओं को समाधान के रूप में सोच सकता हूं।

मेरा प्रयास:

SELECT
[BOOKING ID]
,MAX([DEPARTURE DATE])
,SUM(AMOUNT)
from table
GROUP BY BOOKING ID, [DEPARTURE DATE]

इसके लिए कोई आसान उपाय?

धन्यवाद!

0
Michieldo 19 नवम्बर 2020, 12:55

1 उत्तर

सबसे बढ़िया उत्तर

बस एकत्रीकरण का उपयोग करें:

select booking_id, max(depature_date) as max_date, sum(amount) as amount
from mytable
group by booking_id
2
GMB 19 नवम्बर 2020, 13:03