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
    

    実際、最初の2つの結合されたクエリをマージして、同じ結果を得ることができるとは思いません。元のクエリでは、UNION DISTINCT aye IN ("10")を満たす元のレコードのランクを個別に計算します。 基準はおそらく2回表示されます(ただし、ランク値は異なります)。




    1. WPDBクラスでのWordPressMySQLSQLクエリエラー

    2. mysqlの日付でoutfileの名前を変更します

    3. SQL Server 2005で大文字と小文字を区別するように変更するにはどうすればよいですか?

    4. OracleApplicationsR12でステージングされたAPPL_TOP