मुझे समझाने के लिए अपेक्षाकृत आसान प्रदर्शन करने की आवश्यकता है, लेकिन (मुझे कुछ सीमित कौशल दिया गया है) एसक्यूएल क्वेरी लिखना मुश्किल है।लगातार मूल्यों को शामिल करने वाली ट्रिकी एसक्यूएल क्वेरी
मान लें कि हम इस एक के समान एक मेज है:
exam_no | name | surname | result | date
---------+------+---------+--------+------------
1 | John | Doe | PASS | 2012-01-01
1 | Ryan | Smith | FAIL | 2012-01-02 <--
1 | Ann | Evans | PASS | 2012-01-03
1 | Mary | Lee | FAIL | 2012-01-04
... | ... | ... | ... | ...
2 | John | Doe | FAIL | 2012-02-01 <--
2 | Ryan | Smith | FAIL | 2012-02-02
2 | Ann | Evans | FAIL | 2012-02-03
2 | Mary | Lee | PASS | 2012-02-04
... | ... | ... | ... | ...
3 | John | Doe | FAIL | 2012-03-01
3 | Ryan | Smith | FAIL | 2012-03-02
3 | Ann | Evans | PASS | 2012-03-03
3 | Mary | Lee | FAIL | 2012-03-04 <--
ध्यान दें कि exam_no
और date
जरूरी संबंधित नहीं हैं के रूप में एक उदाहरण की तरह मैं चुना से उम्मीद कर सकते हैं।
- नवीनतम परीक्षा (
exam_no
= 3) सभी छात्रों को दिया है कि (John Doe
,Ryan Smith
औरMary Lee
) में विफल रहा है लगता है से:अब, क्वेरी है कि मैं क्या करने की जरूरत के रूप में निम्नानुसार है।
- इन छात्रों में से प्रत्येक के लिए निरंतर असफल परीक्षाओं के बैच के पहले दिन की तारीख मिलती है। इसे रखने का एक और तरीका यह होगा: इनमें से प्रत्येक छात्र को अपनी पिछली उत्तीर्ण परीक्षा के बाद आने वाली पहली असफल परीक्षा की तारीख मिलती है। (तालिका में तीरों को देखो)।
जिसके परिणामस्वरूप तालिका कुछ इस तरह होना चाहिए:
name | surname | date_since_failing
------+---------+--------------------
John | Doe | 2012-02-01
Ryan | Smith | 2012-01-02
Mary | Lee | 2012-03-04
मैं ऐसे एक प्रश्न कैसे प्रदर्शन कर सकते हैं?
आपके समय के लिए धन्यवाद।
अन्य पाठकों: ध्यान दें कि उन्होंने इसे 'MySQL' –
टैग किया है, लगता है कि आप परिणाम = 'FAIL' पर उसी तालिका में शामिल हो सकते हैं और इसे सबसे अधिक दिनांक वाला चयन करें। आपने क्या प्रयास किया है – Jocke
"नवीनतम परीक्षा *" से आपका क्या मतलब है? परीक्षा जिसमें नवीनतम तारीख है? – eggyal