Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्यों बाहरी क्रम सही ढंग से काम नहीं करता है?

मैं यह नहीं कह रहा हूं कि चीजों के बारे में जाने का यह सबसे अच्छा तरीका है, लेकिन यह आपके मौजूदा प्रयासों में सबसे कम संशोधन है।

(
  SELECT IF(aye IN ("10"), 0, 1) AS sortGroup
     , IF(aye IN ("10"), @rank := @rank + 3, @rank1 := @rank1 + 3) AS `rank`
     , id, subject, name
  FROM quran
     , (select @rank := -2) AS rq, (select @rank1 := -1) AS r1q  
  WHERE MATCH (subject, name) AGAINST ('anything') 
)
UNION ALL
(
  SELECT 2 AS sortGroup
     , @rank2 := @rank2 + 2 `rank`
     , id, subject, byA
  FROM hadith
     , (select @rank2 := 0) AS q 
  WHERE MATCH (subject) AGAINST ('anything')
)
ORDER BY sortGroup, rank 
LIMIT 0, 11

असल में, मैं सकारात्मक नहीं हूं कि आप पहले दो यूनियन प्रश्नों को मर्ज कर सकते हैं और वही परिणाम प्राप्त कर सकते हैं। मूल क्वेरी में, UNION DISTINCT . के साथ और मूल में रैंक की अलग गणना, ऐसे रिकॉर्ड जो aye IN ("10") . को संतुष्ट करते हैं मानदंड शायद अक्सर दो बार दिखाई देंगे (लेकिन विभिन्न रैंक मानों के साथ)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP कोड को समय-समय पर स्वचालित तरीके से कैसे निष्पादित करें

  2. चेंज पर उपश्रेणी का चयन करें बॉक्स बनाएं

  3. Mysql और php में समय के मुक्त ब्लॉक ढूँढना?

  4. mysql मर चुका है लेकिन सबसिस लॉक हो गया है

  5. MySQL कनेक्शन बंद नहीं होगा