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