मैं डेटा के निम्नलिखित सेट पर एक SQL क्वेरी चलाना चाहता हूं:

date       creation_date    value
------------------------------------
2018-01-01 2017-05-05       1
2018-01-02 2017-05-05       0
2018-01-03 2017-05-05       1
2018-01-04 2017-05-05       0
2018-01-05 2017-05-05       1
2018-01-06 2017-05-05       1
2018-01-02 2017-05-11       5

मैं निम्नलिखित परिणाम प्राप्त करना चाहता हूं:

2018-01-01 2017-05-05       1
2018-01-02 2017-05-11       5
2018-01-03 2017-05-05       1
2018-01-04 2017-05-05       0
2018-01-05 2017-05-05       1
2018-01-06 2017-05-05       1

मूल रूप से मैं सभी तिथियां प्राप्त करना चाहता हूं, इसे तिथियों के आधार पर समूहित करना चाहता हूं और नवीनतम निर्माण तिथि प्राप्त करना चाहता हूं और उस निर्माण तिथि के लिए मूल्य प्राप्त करना चाहता हूं।

मैंने कोशिश की

select date, max(Creation_date), value 
from datasource
group by date, blocked

लेकिन यह नहीं करता है।

0
mko 15 नवम्बर 2017, 13:15

1 उत्तर

सबक्वेरी का उपयोग करने का प्रयास करें और इसके साथ जुड़ें

SELECT d.*
FROM datasource d
JOIN
  (
    SELECT [date],MAX(Creation_date) LastCreationDate
    FROM datasource
    GROUP BY [date]
  ) l
ON d.[date]=l.[date] AND d.Creation_date=l.LastCreationDate

या दूसरा संस्करण यदि Creation_date सभी [date] के लिए समान है

SELECT *
FROM datasource
WHERE Creation_date=(SELECT MAX(Creation_date) FROM datasource)
1
Sergey Menshov 15 नवम्बर 2017, 13:28