MySQL का कोई असली नहीं है बूलियन की धारणा, और बस नक्शा TRUE
और FALSE
संख्यात्मक मानों के लिए 1
और 0
क्रमशः।
इस मामले में user_id <> ?
आपकी तालिका में अधिकांश पंक्तियों के लिए 0 और अन्य पंक्तियों के लिए 1 लौटाएगा। डिफ़ॉल्ट सॉर्ट क्रम ASC
है , जिसका अर्थ है कि आप जो पंक्तियाँ चाहते हैं, वे पूरी तरह से नीचे . पर हैं आपके परिणाम सेट का (0/FALSE
पहले आएं 1/TRUE
) इसे समायोजित करने के लिए अपनी क्वेरी को संशोधित करने का प्रयास करें।
( user_id <> ? ) DESC, rating DESC, title
यह मानते हुए कि यह वास्तव में मुद्दा है, क्रॉस-डेटाबेस संगतता आसानी से प्राप्त की जा सकती है।
IF(user = ?, 0, 1), rating DESC, title