MySQL से दस्तावेज़ीकरण :
मूल रूप से केवल एक ही समय ORDER
एक संघ में उपयोगी होगा यदि आप LIMIT
. का उपयोग कर रहे हैं साथ ही।
तो अगर आपकी क्वेरी इस तरह थी:
(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only three doors%" OR `joke` LIKE "%only three doors%") ORDER BY `ups` DESC,`downs` ASC LIMIT 10)
UNION ...
फिर आप पहले दस रिकॉर्ड देखेंगे जो उस आदेश के आधार पर लौटाए जाएंगे, लेकिन जरूरी नहीं कि वे क्रम में प्रदर्शित हों।
अपडेट करें:
इसे आजमाएं -
(SELECT *, 1 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only three doors%" OR `joke` LIKE "%only three doors%") )
UNION
(SELECT *, 2 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only%" OR `joke` LIKE "%only%") )
UNION
(SELECT *, 3 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%three%" OR `joke` LIKE "%three%") )
UNION
(SELECT *, 4 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%doors%" OR `joke` LIKE "%doors%"))
ORDER BY `ob`, `ups` DESC,`downs` ASC LIMIT 0, 30