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. MySQL вмъкване в множество таблици (релационни)

  2. $wpdb->insert не работи. Няма грешка Съобщение

  3. Проблеми с Mysql Query с използване на LIKE и апостроф

  4. Каскадното комбинирано поле на формуляра за достъп не показва нищо в падащото меню

  5. Как се използват алгоритмите за класиране на Reddit и Hacker News?