यह मेरी मेज है

CREATE TABLE `matches` (
    `no` int NOT NULL AUTO_INCREMENT,
    `matchID` varchar(128) NOT NULL,
    `teamOne` varchar(128) NOT NULL,
    `teamTwo` varchar(128) NOT NULL,
    `schedule` TIMESTAMP NOT NULL,
    `isVisible` BOOLEAN NOT NULL,
    `isDone` BOOLEAN NOT NULL,
    `isCancelled` BOOLEAN NOT NULL,
    `isStarted` BOOLEAN NOT NULL,
    PRIMARY KEY (`no`)
);

और यह मेरी वर्तमान क्वेरी है

SELECT * FROM matches WHERE isVisible = 1 ORDER BY schedule ASC

यह सही ढंग से काम कर रहा है और शेड्यूल के अनुसार क्रमबद्ध किया गया है। लेकिन मैं अभी भी शेड्यूल के अनुसार सॉर्ट करते हुए सभी isDone रिकॉर्ड्स को नीचे बनाना चाहता हूं। यहां एक उदाहरण आउटपुट है जो मुझे चाहिए:

+-----------+----------+--------+
| matchID   | schedule | isDone |
+-----------+----------+--------+
| example10 | 04:00    | 0      |
+-----------+----------+--------+
| example40 | 05:00    | 0      |
+-----------+----------+--------+
| example65 | 06:00    | 0      |
+-----------+----------+--------+
| example42 | 07:00    | 0      |
+-----------+----------+--------+
| example13 | 02:00    | 1      |
+-----------+----------+--------+
| example69 | 03:00    | 1      |
+-----------+----------+--------+
| example50 | 03:30    | 1      |
+-----------+----------+--------+

धन्यवाद

sql
-1
Evelyn Woodley 22 नवम्बर 2021, 17:36
2
तो आप पहले isDone और schedule सेकंड के आधार पर क्रम से लगाना चाहते हैं। ठीक है, और वास्तव में अब आपको क्या रोक रहा है?
 – 
CBroe
22 नवम्बर 2021, 17:40
1
ORDER BY isDone schedule
 – 
PM 77-1
22 नवम्बर 2021, 17:40
आप जानते हैं कि ऑर्डर के द्वारा कई ऑब्जेक्ट सही हो सकते हैं? और प्रत्येक आवश्यकता के आधार पर asc या desc हो सकता है? आप केस एक्सप्रेशन का भी उपयोग कर सकते हैं ...
 – 
xQbert
22 नवम्बर 2021, 17:44

1 उत्तर

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

आप ORDER BY . के अंदर कई कॉलम रख सकते हैं

SELECT * FROM matches WHERE isVisible = 1 ORDER BY isDone, schedule ASC
1
Kazimierz Niewielki 22 नवम्बर 2021, 17:42